用于匹配主键的外键?

时间:2013-12-09 12:29:13

标签: mysql sql

我必须使用外键来匹配主键。

什么是正确的外键?

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标识的导师讲授。登记的每对学生班有一排,为 每个学生在特定班级注册。导师存储有关教学中导师的数据。 请注意,学生和导师的所有姓名都包含一个由前面的姓氏组成的字符串 通过第一个(也可能是中间)名称。主键带下划线。

2 个答案:

答案 0 :(得分:0)

  

什么是正确的外键?

学生sid(PK),注册sid(FK),带有注册ccode(FK)的Class ccode(PK)和带Tutor tid(FK)的Class tid(PK)。

理想情况下,你应该有另一个级别的分离,以考虑一个班级由多个导师提供的可能性。

答案 1 :(得分:0)

这里有两个主键sid和ccode 你有另一个联结表,其中这两个主键都用作外键。 这是正确的表示.. 我认为它的关键