在 this lecture他们提到了 1:1 的关系。
可以将 1:1 关系表示如下:一位讲师只教授一门科目。可以通过将 subject_id 添加到讲师表或将讲师_id 添加到主题表来完成。
我对解释或我的理解有一些疑问。
让我们来看第一个示例,将 subject_id 添加到讲师表。
LECTURE_ID LECTURE_NAME SUBJECT_ID
4 Kolmogorov 6
5 Schmidt 6
所以,实际上两个讲师可以教授一门学科,这并不是 1:1 的关系。
让我们来看第二个示例,将讲师 ID 添加到主题表中。
SUBJECT_ID SUBJECTE_NAME LECTURER_ID
5 Math 1
6 Arts 1
一位讲师教授两个不同的科目。
我有什么遗漏的吗?或者外键必须在表中只出现一次?因为on this page外键 (P_id) 在“Order”表中出现两次。
最佳答案
嗯,这些解决方案都不是最佳的。但如果你必须选择,我会说 LECTURER_ID 应该是 SUBJECT 表中的外键。
但我建议您使用 Boyce Codd 范式。然后您将总共创建三个表。
讲师
LECTURE_ID(PK) LECTURE_NAME
4 Kolmogorov
5 Schmidt
主题
SUBJECT_ID(PK) SUBJECTE_NAME
5 Math
6 Arts
LECTURER_SUBJECT
LECTURE_ID(PK)(FK) SUBJECT_ID (PK)(FK)
4 5
4 6
这样,一个讲师可以有多个科目,一个科目可以有多个讲师。
关于mysql - 数据库 : 1:1 relationship,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471187/