在一本书我读他们指出,在教导表,基于上面图片中的架构图上,加下划线的列名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,因为您可以为每个部分设置多个教师。因此,这意味着您的部分外键来自教导中的多行,并且不会形成教授的正确的主键组合。
它们是其他表中的主键;在教学中,它们是对其他表中的主键的引用,并且应该具有外键约束---也就是说,您不应该能够将course_id分配给course_id表中不存在的教程。您可以通过列名称和从字段绘制到它所引用的表/字段的行来标识它们。 – JLB
所以这意味着在部分表中PK是course_id,sec_id,学期和年份。换句话说,部分中的(course_id,sec_id,学期和年)的每个组合都必须是唯一正确的?既然你不能有PK的重复值? – LP496
表只能有一个主键。主键= 1.主键是从表中获取所需内容的关键:)所以在该表中,它将引用course_id表中的一行,等等等等。 – JLB