什么是正确的外键?
Student(sid integer, sname varchar(20), programme varchar(4), level integer, age integer)
Class(ccode varchar(6), cname varchar(25), week_day varchar(3), meets_at time, room varchar(6), tid integer)
Enrolled(sid integer, ccode varchar(6))
Tutor(tid integer, tname varchar(20)) 以上表格的含义是显而易见的:学生存储在计算系提供的某个程序中注册的学生的数据。由ccode (这是its代码)标识的每个类都由由tid标识的导师教授。对于给定班级中的每个学生注册,每个在册学生每对学生班级都有一行。Tutor存储有关参与教学的导师的数据。请注意,所有学生和导师的名字都包含在一个字符串中,该字符串由姓氏前面加上名字(也可能是中间名)组成。主键带有下划线。
发布于 2013-12-09 20:41:16
什么是正确的外键?
理想情况下,您应该有另一个级别的分离,以考虑到一个课程由多个导师授课的可能性。
发布于 2013-12-09 20:41:59
这里有两个主键sid和ccode,还有另一个连接表,其中这两个主键都用作外键。这是正确的表示..我想这没问题
https://stackoverflow.com/questions/20470720
复制相似问题