PDA

View Full Version : روش صحیح و بهینه جدول بندی



H:Shojaei
سه شنبه 26 خرداد 1394, 11:10 صبح
یه سوال این که واسه ایجاد ارتباط بین جداول کدوم بهتره یه مثلا میزنم:
مثلا ما یک جدول گروه داریم و یک جدول کار...
جدول گروه کلید اصلی داره و جدول کار هم باید یک کلید خارجی از جدول گروه داشته باشه که همون id جدول گروه هست و ارتباط بین این دو به وسیله کلید اصلی جدول گروه ایجاد بشه...
حالا تو این مورد به نظر شما بهترین راه حل ایجاد ارتباط بین ایندو چیه؟
1- این که یه فیلد کلید اصلی جدول گروه رو ببریم تو یک ستون از جدول کار و کلید خارجیش کنیم؟
2- یا این که یه جدول دیگه داشته باشیم و هر دوی اینا رو ببریم به عنوان کلید خارجی تو اون جدول و به وسیله جدول رابط این ارتباط رو برقرار کنیم؟

تا این جای کار که هردو امکان پذیره و پیچیدگی زیادی هم نداره ولی کدوم بهینه تره؟

حالا باز اگر این 2 جدول بشن 4 جدول چی میشه!؟
مثلا فرض کنید یک جدول پروژه داریم... یکی گروه... یکی کار... و یکی هم کارمند...
اینجا گروه ها زیر مجموعه پروژه هستن... کارها زیر مجموعه گروه ها... و کامندها هم زیر مجموعه کارها یعنی مثلا کار به کارمند تخصیص داده بشه...
اینجا چطور میشه این رو به بهترین و بهینه ترین شکل پیاده کرد ؟
1- این که فیلد های کلید اصلی هرکدوم از جداول رو ببریم تو جدول زیر مجموعش؟ مثلا کلید اصلی پروژه بره تو جدول گروه... گروه کلید اصلیش بره تو جدول کار... و کارمند و گروه هم چون چند به چند هستن یه جدول جدا تخصیص داده بشه...
2- یا نه بیایم کلا یه جدول واسط در نظر بگیریم واسه همه اینا و هر سطر تمام کلیدها رو واسه هر کار و کارمند درج کنیم؟

لطفا اگر جواب میدین با دلیل جواب بدین تشکر...

farzad-kh
سه شنبه 26 خرداد 1394, 13:34 عصر
توی هردو سوال روش اول بهتره به نظرم چون رابطه یک به چند معمولا جدول میانی درنظر نمیگیرن...

H:Shojaei
سه شنبه 26 خرداد 1394, 13:55 عصر
توی هردو سوال روش اول بهتره به نظرم چون رابطه یک به چند معمولا جدول میانی درنظر نمیگیرن...
بله من هم به همین نتیجه رسیدم...

imohammad
چهارشنبه 27 خرداد 1394, 00:04 صبح
این جزوه رو یه مطالعه بکن بدردت میخوره
http://bayanbox.ir/info/9215121358389966824/Database-Amin-Einipour