من درطراحی یه سیستم ساده به مسئله ای بر خوردم که دوست دارم مناسب ترین گزینه را برای آن انتخاب کنم. صورت مسئله به این شرح است; ما دارای چندین بخش محدود هستیم: مثل بخش معرفی کتاب، بخش معرفی مقاله، بخش معرفی اساتید و ... هر بخش به طور بدیهی دارای یکسری رکورد است. شکل زیر نمود یک بخش را در پایگاه داده نشان می دهد :
همان ظور که مشاهده می فرمائید. هر جدول بخش دارای یک جدول دسته نیز می باشد. در این سیستم حدود 8 بخش وجود دارد و برای هر بخش یک عدد جدول دسته در نظر گرفته شوده است.
سوال : آیا این کار مناسب ترین گزینه می باشد ؟ یعنی به ازای هر بخش به صورت مجزا یک جدول دسته در نظر گرفته شود ؟ یا یک جدول مرکزی در نظر گرفته شود و رابطه فیزیک بین آنها به صورت منطقی پیاده سازی شود ؟
خود بنده روش اول را انتخاب کردم به خاطر علت های زیر :
1-شفاف سازی سیستم
2-استفاده از محدودیت و امتیاز روابط (Relationships)
3-ساده سازی پیاده سازی
4-جلوگیری از Redundancy
5-جداکردن داده ها از نظر منطقی
خوب حالا مشکل کجاست ؟ من اگر 8 تا جدول برای بخش ها داشتم الان به 16 عدد افزایش پیدا کرده ! حالا اگر بخوام برای هر رکورد اطلاعاتی در این جداول یه نظر سنجی هم بذارم چیزی در حدود 48 جدول به وجود می آید !!!! و اگر بعد ها بخوام تغییر کوچکی در یکی از فیلدهای نظر سنجی بدم باید 32 بار این کار رو انجام بدم !!! ونکته مهم تر اینکه تعداد کلاس هائی که به دیتابیس مپ می شوند نیز افزایش پیدا می کند و مدیریت پیچیده ای را طلب می کنند ؟
راه حل معرفی کنید !!