PDA

View Full Version : مشکل در درک و تحلیل یک دیتابیس خاص



SajjadStr
چهارشنبه 11 بهمن 1391, 19:50 عصر
با عرض سلام
یک سوال دارم شاید از نظر خیلی ها مبتدی باشه اما از بزرگان کمک میخوام که دست ما مبتدی ها را بگیرند و ما را راهنمایی کنند
خوب من درک یک مسله مشکل دارم اینکه من میخوام یک دیتا بیس را برای انتخاب واحد دانشگاه طراحی کنم
خیلی ساده بیان میکنم خیلی هم ساده جواب میخوام
فرض کنید من موجودیت هایی از قبیل استاد،دانشجو،درس،و ... را یافته ام و فیلد های مربوط آنها را یافتم و تا حدودی تحلیل کردم مشکل من اینجا است در بخشی به نام انتخاب واحد، شاهد اوج ارتباط بین جداول استاد و دانشجو و درس و ... هستیم این ارتباط چگونه پیاده سازی می شود یعنی اینکه یک جدول دیگر ایجاد کنیم که هر فیلدش مرتبط با جداول استاد و درس ودانشجو و... باشد؟
سوال دوم ساعت ارایه یک درس خاص توسط یک استاد در چه جدولی پیاده می شود جدول درس یا استاد؟

محمد سلیم آبادی
پنج شنبه 12 بهمن 1391, 08:05 صبح
سلام
محیط عملیاتی که در موردش صحبت می کنید (انتخاب واحد) بحث گسترده و پیچیده ای از نظر جامعیت اطلاعات و Business Logic دارد. بطور نمونه:
یک فردی که مشروط شده نمی تواند بیش از 14 واحد اخذ کند.
یک استاد نمی تواند یک در یک زمان در دو کلاس تدریس کند.
یک استاد نمی تواند در رشته ای که به او ارتباطی ندارد تدریس کند.
ظرفیت یک کلاس محدودیتی دارد.
اگر درسی به درس دیگر نیاز داشته باشد (هم نیاز باشد) باید هر دو درس در یک ترم انتخاب شوند
یک دانشجو نمی تواند کلاس هایی را انتخاب کند که تداخل زمانی دارند.
یک دانشجو نمی تواند درسی را انتخاب کند که به رشته او ارتباطی ندارد.
یک دانشجو نمی تواند درسی را انتخاب کند که پیش نیاز آن را نگذرانده است.

و ده ها قید و شرط دیگر که باید توسط قیود مختلف مثل check و unique و foreign key روی جداول لحاظ شود. که البته trigger در اینجا نقش حیاتی بازی خواهد کرد.


مشکل من اینجا است در بخشی به نام انتخاب واحد، شاهد اوج ارتباط بین جداول استاد و دانشجو و درس و ... هستیم این ارتباط چگونه پیاده سازی می شود یعنی اینکه یک جدول دیگر ایجاد کنیم که هر فیلدش مرتبط با جداول استاد و درس ودانشجو و... باشد؟
یه جدول باید داشته باشید که مشخصات هر کلاس-استاد-درس را دربرگیرد مثل خصایصی چون: کلید جدول، کد استاد(FK)، کد درس(FK)، کد کلاس(FK)، کد نیم سال تحصیلی... و برای زمان و روزهای برگذاری کلاس چون چند مقدار داریم بایستی یک جدول دیگر طراحی کنیم و یک ارتباط 1 به N با جدول سابق بوجود می آید.
مثلا اگر یک کلاس(با کد 25) در روزهای شنبه و چهارشنبه به ترتیب در ساعات 8-10 و 14-15 تشکیل شود (فرض بر این گرفتیم که در یک روز بیش از یک جلسه وجود ندارد) آنگاه خواهیم داشت.
کد دوره، کد جلسه، روز هفته، ساعت تشکیل کلاس، ساعت پایان کلاس
25 1 شنبه 8 صبح 10 صبح
25 2 چهارشنبه 2 بعد از ظهر 3 بعد از ظهر

SajjadStr
پنج شنبه 12 بهمن 1391, 09:53 صبح
با این حساب متوجه شدم خیلی مبتدی هستم و باید تحلیل های زیادی انجام بدم لطفا یک کتاب معرفی کنید که گام به گام من رو برای پیاده سازی یک محیط عملیاتی راهنمایی کنه

f.beigirad
چهارشنبه 18 بهمن 1391, 13:55 عصر
باعرض سلام.دوستان بنده هم که مبتدیم به کتابی با مثال های زیاد برای طراحی و تحلیل دیتابیس نیز دارم.

اگر عزیزی پیشنهادی داره بیان کنه

ممنون از شما

ebrahimi6357
پنج شنبه 17 اسفند 1391, 00:34 صبح
دوست عزیز سلام
خوشبختانه من این دیتابیس را بطور جامع و کامل و کاملاً عملی و حرفه ای تحلیل کردم.
سوال اینه که آیا شما فقط طراحی دیتابیس مد نطرتون هست و یا اینکه قصد اجرای این برنامه را دارید
در هر صورت حاضرم در اجرای این طرح کمکتون کنم
لطفا با من با ایمیل mofaseran@yahoo.com در ارتباط باشید.