SQL主键约束

时间:2016-03-21 21:30:47

标签: mysql sql foreign-keys primary-key

enter image description here

在我正在阅读的一本书中,他们表示在教学表中,基于上图中的Schema图,带下划线的列名为Primary keys (ID, course_id, sec_id, semester, and year)。我有点困惑,因为我原本以为你只能在表中有一个Primary Key。我真的不明白哪些是主键,哪些是上图中的外键约束。有人可以通过这样的图表向我解释如何识别这些键吗?

此外,可以从引用主键(course_id, sec_id, semester, and year)的节表中创建(foreigns keys) (course_id, sec_id, semester, and year)。那不行吗?因为对于来自部分的(course_id, sec_id, semester, and year)的每个组合,您可以从教学表中拥有多个ID,因为每个部分可以有多个教师。因此,这意味着您从教导中引用多行的部分中获取外键,并且不会为教授形成正确的主键组合。

1 个答案:

答案 0 :(得分:2)

您只能为表设置1个主键,但是:主键包含1个或更多列。

另一点是: 在如上图所示的图表中,您只需按照箭头即可识别引用的列。 例: advisor.i_id引用instructor.ID

希望这有帮助!

问候