我必须使用外键来匹配主键。
什么是正确的外键?
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识别(这是它的 代码)由tid标识的导师讲授。登记的每对学生班有一排,为 每个学生在特定班级注册。导师存储有关教学中导师的数据。 请注意,学生和导师的所有姓名都包含一个由前面的姓氏组成的字符串 通过第一个(也可能是中间)名称。主键带下划线。
答案 0 :(得分:0)
什么是正确的外键?
学生sid(PK),注册sid(FK),带有注册ccode(FK)的Class ccode(PK)和带Tutor tid(FK)的Class tid(PK)。
理想情况下,你应该有另一个级别的分离,以考虑一个班级由多个导师提供的可能性。
答案 1 :(得分:0)
这里有两个主键sid和ccode 你有另一个联结表,其中这两个主键都用作外键。 这是正确的表示.. 我认为它的关键