PDA

View Full Version : سوال در مورد انتخاب primary key



anahita6
یک شنبه 27 اردیبهشت 1388, 18:18 عصر
سلام
من یه جدول دارم که واسط هست بین دو تا جدول جدول اول اسمش هست دانشجو و فیلدی به نام کد دانشجویی داره و فیلد دیگری هم به نام کد کارنامه توی این جدول هست یک جدول هم به نام کارنامه هست که یه سری فیلد داره که کد کارنامه هم توش هست از این طرف جدول سوم رو دارم که نامش امتیازات هست و فیلدی به اسم کد دانشجویی داره
حالا سوال من اینه که کدوم فیلد رو یا دو تا فیلد رو تو جدول دانشجوprimary بگیرم
هر دو تا فیلد کد دانشجویی و کد کارنامه با هم که نمیشه میشه؟ یعنی
کد دانشجویی primary در جدول دانشجو foreigen در جدول امتیازات
کد کارنامه primary در جدول دانشجو و forign در جدول کارنامه
اما هر دو فیلد کد دانشجویی و کارنامه رو به عنوان primary انتخاب کنم
اگه نه درستش چیه؟

shamsoft
یک شنبه 27 اردیبهشت 1388, 21:13 عصر
جدول دانشجو: کد دانشجو Primary، کد کارنامه Foreigen
جدول کارنامه: کد کارنامه Primary (اگر کدی یکتا باشه)
جدول امتیاز: کد دانشجو Foreigen

فکر می کنم این درستش باشه!

amin_alexi
دوشنبه 28 اردیبهشت 1388, 09:59 صبح
سلام

هر دو تا فیلد کد دانشجویی و کد کارنامه با هم که نمیشه میشه؟
اول اینکه کلید اصلی می تونه به صورت ترکیبی از چند فیلد باشه !
من دقیق نمی دونم این جداول واسه چه کاریه !؟ (هر چند تا حدی معلومه :لبخندساده:)
من فکر می کنم یه مقدار طراحی شما مورد داشته باشه ؟!
در جدول دانشجو لازم نیست کد کارنامه بیاد !
بلکه در جدول کارنامه باید کد دانشجو بیاد و به عنوان Foreign key استفاده بشه !
هر چند که کارنامه معمولا یک ماهیت گزارشی داره( از وضعیت یک دانشجو در یک ترم ) و معمولا جدولی برای ذخیره سازی کارنامه استفاده نمیشه !؟
معمولا هر دانشجو یک کد درس رو در یک ترم با یک استاد بر می داره و نتیجه از گزارش تمام درسهای برداشته شده دانشجو در یک ترم به همراه معدل میشه کارنامه !
حالا باز باید دید در جدول کارنامه چه فیلد هایی داری !؟ تا بشه بهتر در مورد Primary ها بحث کرد !