ورود

View Full Version : سوال: سناریو ارتباط بین جداول وابسته



mohammad-j
دوشنبه 26 اسفند 1387, 12:29 عصر
با سلام و تبریک پیش پیش عید بر شما
دوستان من یک سناریو مطرح می کنم همراه با دو راه حل و می خواهم بدونم کدام راه حل بهتره ؟

سناریو :
یک برنامه بانک اطلاعاتی دانشگاه داریم که جداول زیادی دارند ، از اطلاعاتی که در این بانک مهم هست اطلاعات شخصی دانشجویان ، اساتید ، پرسنل . حالا می خواهیم جداول این اطلاعات رو طراحی کنیم با در نظر گرفتن این که این افراد فیلد های مشترکی مثل نام ، فامیل ، تلفن ، آدرس و ... و یکسری فیلد خاص !؟

راه حل اول :
ایجاد سه جدول جدا به صورت فیلد های مجزا برای هر گروه اطلاعات

راه حل دوم :
ایجاد یک جدول که فیلد های مشترک همه سه گروه را در بر می گیرد (نام ، فامیل ، آدرس و ...) سه جدول مجزا برای گروه ها جهت فیلد های خاص (دانشجو : ترم جاری ، رشته | استاد : رسته و ...) . که این روش 4 جدول می شود .

حالا نظر شما(با در نظر گرفتن سرعت ، دقت و امنیت) کدام راه حل هست و دلیل شما چیست ؟

EffatBandehlou
دوشنبه 26 اسفند 1387, 13:57 عصر
دوست عزيز راه حل دوم منطقي تر است

mahdi_farhani
دوشنبه 26 اسفند 1387, 16:24 عصر
به قول یکی از دوستان (مهندسین ) روش اول بهتره .
ولی من خودم میگم روش دوم . تقریباً میشه گفت داریم از ارث بری استفاده میکنیم ، و این خودش یک حسن.
به فرض مثال (و محال)اگر ما فیلد تلفن همراه را فراموش کرده باشیم ، اگر از روش اول بخواهیم استفاده کنیم باید سه تا فیلد اضافه بشه . ولی در روش دوم یک فیلد .
از نظر نرمالسازی هم روش دوم نرمالتر هست تا روش اول
و ........

Chabok
دوشنبه 26 اسفند 1387, 20:46 عصر
با سلام

ظاهرا از نظر بهره وری و Performance شاید راه حل دوم بهتر باشه .

ولی بد نیست سخت تر شدن مدیریت رکوردها رو هم در نظر بگیرید .
در روش اول مدیریت اطلاعات خیلی ساده تر و روان تر است و پیچیدگی خاصی ندارد .

ولی در روش دوم یه جورایی همیشه Join دارید .
خود این Join ها روی بهره وری تاثیر میزاره .

شما حتی برای ساده ترین کوئری "مشخصات یک دانشجو" هم نیاز به Join دارید .

حالا باید خودتون با سبک و سنگین کردن شرایط ، انتخاب کنید

موفق باشید .

AminSobati
چهارشنبه 28 اسفند 1387, 19:45 عصر
دوست عزیزم اگرچه اساتید و دانشجوها و ... دارای فیلدهای مشترکی هستند ولی واقعا نحوه به کار گیری این اطلاعات با هم تفاوت داره. لذا داشتن جداول مجزا منطقی تره