PDA

View Full Version : طراحی دیتابیس سیستم دفتر خدماتی



shalvar
شنبه 03 اردیبهشت 1390, 17:19 عصر
در سیستم دفتر خدماتی برای قسمت تلفن همراه سرویس های مختلفی وجود داره مثل تعویض سیم کارت ، تغییر نشانی ، تغییر نام ؛ تغییر سند و .. با توجه به اینکه آیتم های موجود در هر فرم مربوط به هر سرویس با همدیگه فرق میکنه ( مثلا فرم تعویض سیم کارت دارای آیتم های شماره سیم کارت قبلی و شماره سیم کارت جدید است اما فرم تغییر نشانی دارای چنین آیتمی نیست ) و با توجه به اینکه نمیشه برای هر سرویس یه جدول جداگانه گذاشت . پس چه جوری میشه طراحی کرد که تمام سرویس ها باشند و برای هر سرویس جدول جداگانه نکشید :متفکر:

حمیدرضاصادقیان
یک شنبه 04 اردیبهشت 1390, 08:09 صبح
سلام
دو راه به نظر من میرسه.
1- شما بیاید یک جدول درست کنید که شامل دو فیلد کد و نام باشه که لیست سرویس ها داخل این جدول باشه.
2- جدول دوم شامل کد و کد سرویس و مشخصات مثل آدرس جدید ، نام شخص و...

ایراد این روش این هست که ممکنه در هر ردیف بعضی از مقادیر خالی بمونند و هنگام خواندن و نوشتن اطلاعات به مشکل بربخورید.
روش دوم اینکه باز جدول اول که شامل لیست سرویسها هست رو داشته باشید.
و برای هر سرویس نیز یک جدول جداگانه در نظر بگیرید.
اینجوری جدول سرویس شما مثلا با 10 جدول دیگه رابطه Master-Detail داره و هر بار در هر فرم فقط با جدول مورد نظر کار دارید . با این کار سرعت خواندن و نوشتن شما افزایش پیدا میکنه. و برای گزارش گیری راحتتر هستید.
نگران افزایش تعداد جداول نباشید.

نکته خیلی مهم : به خاطر افزایش تعداد جداول خودتونو تو دام Denormalize قرار ندید.این طور نیست که هرچی تعداد جداول شما کمتر باشه طراحیتون بهتر است. اینطوری هم نیست که فکر کنید هرچی جداول بیشتری داشته باشید یعنی طراحی ایده آله. باید بعد از طراحی جداول ببینید تمامی قوانین نرمال سازی روی جداول صدق می کند یاخیر.

hmm
یک شنبه 04 اردیبهشت 1390, 08:18 صبح
با توجه به اینکه نمیشه برای هر سرویس یه جدول جداگانه گذاشت
چرا نمیشه؟
به نظرم منطقی ترین راه همینه

saed2006
پنج شنبه 15 اردیبهشت 1390, 11:38 صبح
يك جدول براي اطلاعات مشترك بين سرويس ها و جداول ديگر براي اطلاعات اختصاصي هر سرويس
يا علي