ورود

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



f_naderi
سه شنبه 25 خرداد 1395, 01:42 صبح
سلام دوستان. من می خوام دیتابیس یک مدرسه رو طراحی کنم .جداولم رو به این صورت طراحی کردم .ممنون میشم که نگاهی به جداول بندازید و هر مشکلی که در طراحی وجود داره رو بفرمایید.
دانش آموز:
کد دانش آموزی-نام - نام خانوادگی - کد ملی - آدرس- معدل کل -معدل سال قبل
مقطع:
کد مقطع - نام مقطع
پایه:
کد پایه - نام پایه
کلاس:
کد کلاس - پایه - نام کلاس
دبیر:
کد دبیر - نام -فامیلی- رشته
رشته تحصیلی:
کد رشته تحصیلی - نام رشته تحصیلی(دبستان راهنمایی ریاضی فیزیک تجربی انسانی کامپیوتر)
درس:
کد درس - کد پایه - کد رشته تحصیلی - نام درس -ضریب
دروس ارائه شده:
کد درس - کد معلم - کد کلاس - سال تحصیلی - روز- ساعت تشکیل
درس و دانشچو :
کد دانش آموز - کد درس - کد پایه - کد مقطع - نوبت امتحان(مهر آبان ....)- نمره
جدول موارد انضباطی:
کد دانش آموزی -تاریخ- مورد انضباطی- کد پایه
فیلدهای رنگی کلید هستند.
دوستان اگر جایی فیلدی به اشتباه هست یا اضافه و یا کم هست راهنمایی بفرمایید همینطور نمیدونم فیلد سال تحصیلی جاهایی که گذاشتم درست هست یا خیر.
من این تاپیک http://barnamenevis.org/showthread.php?374371-%D9%85%D8%B4%D9%88%D8%B1%D8%AA-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D8%B3%D8%A7%D9%84-%D8%AA%D8%AD%D8%B5%DB%8C%D9%84%DB%8C&highlight=%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8% B3+%D9%85%D8%AF%D8%B1%D8%B3%D9%87 رو نگاه کردم . ولی نمیدونم چطور باید این کار رو با کد نویسی (C#‎‎‎‎) انجام داد . یعنی برای هر سال تحصیلی یک دیتابیس جدید با ویژگی های همان دیتابیس اولیه ایجاد کرد ( با access)
پیشاپیش از همه دوستان ممنونم

akpa125
دوشنبه 07 تیر 1395, 00:25 صبح
وقتی اطلاعات کاملی از برنامه داشت باشید میتونید بهینه سازی های خاصی رو انجام بدید مثلا اگه مدرسه فقط راهنمایی هستش میتونید جدول پایه رو حذف کنید جدول هاتون یه مقداری تو نرمال سازی مشکل دارن مثلا معدل سال قبل چیزی نیست که تو جدول اطلاعات دانش آموز ذخیره بشه در عوض اطلاعات پایه تحصیلی و غیره بصورت کلید خارجی و یا رشته ثابت عددی باید تو جدول اطلاعات باشن
ایجاد یه جدل برای مقطع و پایه بنظرم کار درستی نیست چون جدول برای موارد استفاده میشه که هم تکرار بالا داشته باشن و هم تعدای فیلد رو در خودش جا بده به جای ایجاد یه جدول جداگانه میتونید در برنامه کاربری دست یوزر رو برای وارد کردن مقادیر دلخواه ببندین(مثلا از کمبو باکس برای انتخاب پایه استفاده کنید) اینجوری احتیاج به تلفیق کمتری دارید و پیچیده گی برنامه هم کمتر میشه

f_naderi
پنج شنبه 10 تیر 1395, 01:26 صبح
وقتی اطلاعات کاملی از برنامه داشت باشید میتونید بهینه سازی های خاصی رو انجام بدید مثلا اگه مدرسه فقط راهنمایی هستش میتونید جدول پایه رو حذف کنید جدول هاتون یه مقداری تو نرمال سازی مشکل دارن مثلا معدل سال قبل چیزی نیست که تو جدول اطلاعات دانش آموز ذخیره بشه در عوض اطلاعات پایه تحصیلی و غیره بصورت کلید خارجی و یا رشته ثابت عددی باید تو جدول اطلاعات باشن
ایجاد یه جدل برای مقطع و پایه بنظرم کار درستی نیست چون جدول برای موارد استفاده میشه که هم تکرار بالا داشته باشن و هم تعدای فیلد رو در خودش جا بده به جای ایجاد یه جدول جداگانه میتونید در برنامه کاربری دست یوزر رو برای وارد کردن مقادیر دلخواه ببندین(مثلا از کمبو باکس برای انتخاب پایه استفاده کنید) اینجوری احتیاج به تلفیق کمتری دارید و پیچیده گی برنامه هم کمتر میشه
ممنون بابت پاسختون. کاربر میخواد خودش پایه ها و رشته ها رو ثبت کنه ، حالا بهتره که این پایه و رشته رو چطور کنار هم قرار بدم؟ فیلد کلیدش چی باشه؟