[英]Normalization the table to 3NF
將表標准化為3NF后,我很難理解如何表示外鍵。
讓我們以這種方式考慮表:
student(studentid,studentname,courseid,coursename,dateofexam,marks,grade)
我可以找出FD,如下所示:
studentid -> studentname
courseid -> coursename
{student,courseid} -> dateofexam,marks
marks -> grade
現在,我正在嘗試為FD創建具有如下非ket屬性的新表:
marks grade
studentid studentname
現在如何將這些表的外鍵與我的舊桌子student
? 我對此感到困惑。
提前致謝。
FD實際上向您顯示了如何:
studentid -> studentname
courseid -> coursename
{student,courseid} -> dateofexam,marks
marks -> grade
每行將是一個單獨的表。 其他表中存在的鍵將為fk。 在這種情況下:
{student,courseid} -> dateofexam,marks
那將是studentid,courseid和marks(可能也必須是一個id)
就像這樣
學生(studentid,studentname)
課程(課程編號,課程名稱)
考試(examid,fk_studentid,fk_courseid,dateofam,fk_markid)
分數(markid,等級)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.