View Full Version : سوال: طراحی پایگاه داده آموزش مجازی
cs_mania
جمعه 11 دی 1388, 14:02 عصر
برای طراحی پایگاه داده یک محیط آموزش مجازی پیشنهادی دارید؟
این محیط شامل یک سری کاربر است که دانشجویان را تشکیل میدهند و آنها می توانند ثبت نام کنند و تکالیفشون رو Upload کنند.
یک سری استاد هم داریم که تکالیف رو می بینن و نمره می دن.
طبعا سایت یک مدیر هم داره که رو قسمت های مختلف کنترل دارد.
همه ی کاربر ها هم باید ابتدا login کنن بعد از امکانات استفاده کنند.
به نظرتون باید جدول user و استاد و دانشجو رو جدا بگیرم؟ این کار به صرفه است؟ اون وقت از کجا بفهمم که کی استاده و کی دانشجو؟ ارتباط بین جدول ها چه گونه میشه؟
Hamid.Kad
جمعه 11 دی 1388, 14:17 عصر
به نظرتون باید جدول user و استاد و دانشجو رو جدا بگیرم؟ این کار به صرفه است؟
اگر در همین سطحی است که توضیح داده اید،بله! ولی احتمالاً شما نیاز به تکمیل اینها دارید. مثلاً برای استاد میتونید رتبه، دانشگاه فراغت از تحصیل، تعداد مقالات، و ... داشته باشید که بهتره جدا بگیرید. چون اگر جدانگیرید برای بعضی فیلدها که مربوط به دانشجو است سطر استاد خالی میمونه و بالعکس.
اون وقت از کجا بفهمم که کی استاده و کی دانشجو
خوب این رو میشه با اضافه کردن یه فیلد مثلاً type مشخص کرد که میشه کلید خارجی به یه جدولیکه اونجا type ها رو مشخص کرده اید. البته اگه از چند تا جدول استفاده کنید که نیازی به این فیلد نیست
ارتباط بین جدول ها چه گونه میشه؟
شما جداول رو طراحی کنید. بعد با هم حلش می کنیم. مثلاً جدول دروس. جدول دانشجویان. چدول ثبت نام. جدول اساتید.و جدولهای دیگه...
cs_mania
جمعه 11 دی 1388, 14:44 عصر
ممنون از راهنماییتون.فرض کنید فعلا اطلاعات در این سطح باشه:
جدول دروس :
id
name
Teacherid
Capacity
StartDate
EndDate
ExamDate
جدول درس های ثبت نام شده :
id
Student_id
Course_id
Enrollment_Date
جدول استاد شامل قسمت های زیره :
id
Name
Surname
Email
جدول دانشجو :
id
Name
Surname
biirthDate
Email
Address
phoneNo
برای login کردن هم باید یک جدول جداگانه بذارم به نظرتون؟ مثلا user :
id
Registerid ( باید به استاد یا دانشجو ارتباط پیدا کنه)
Username
password
Type( استاد - دانشجو- مدیر)
مشکل من قسمت user هستش که نمی دونم چه جوری بین این ها ارتباط برقرار کنم. در خیلی از جاها لازم دارم که view بسازم از این جدول ها و مثلا اطلاعات درس ها و استاد های آن درس ها یا درس های اخذ شده و مشخصات دانشجو رو نمایش بدهم.
Hamid.Kad
شنبه 12 دی 1388, 09:02 صبح
کلیدهای اصلی رو وضوحاً مشخص کرده اید.
توی جدول درس ثبت نام شده، فیلد student_id میشه یه کلید خارجی برای فیلد id جدول دانشجو
همچنین فیلد Course_idمیشه یه کلید خارجی برای فیلد id جدول دروس
برای login کردن هم باید یک جدول جداگانه بذارم به نظرتون؟ مثلا user :
بله. حتماً این کار رو انجام بدید. چون فیلد RegisterId ممکنه با 2 تا جدول در ارتباط باشه. پس نمیشه بعنوان کلید خارجی معرفی بشه. میشه با قیدها یا یک تریگر قاعده جامعیت C1 رو براش برقرار کرد که دیتابیس همیشه توی حالت سازگار باشه.
البته یه روش دیگه هم میتونه این باشه که اصلاً جدول users نداشته باشید که بنظر من خوب نیست
مثلا اطلاعات درس ها و استاد های آن درس ها یا درس های اخذ شده و مشخصات دانشجو رو نمایش بدهم.
با این جداولی که طراحی کرده اید میشه به این سوالها با دستورات SQL پاسخ داد. نگران نباشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.