[英]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.