数据库:1:1的关系

时间:2016-11-07 17:36:55

标签: mysql

this lecture他们提到了1:1的关系。

一个人可以表示如下1:1的关系:一个讲师只教一个科目。可以通过将subject_id添加到讲师表或将讲员_id添加到主题表中来完成。

enter image description here

我对解释或理解都有疑问。

让我们将第一个例子与subject_id一起添加到讲师表中。

LECTURE_ID LECTURE_NAME SUBJECT_ID
4          Kolmogorov   6
5          Schmidt      6

所以,事实上,两位讲师可以教授一门课程而且不是1:1的关系。

让我们将第二个例子添加到一个主题表中。

SUBJECT_ID SUBJECTE_NAME LECTURER_ID
5          Math          1
6          Arts          1

一位讲师教授两门不同的科目。

我有什么遗失的吗?或者外键只能在表中出现一次?因为on this page外键(P_id)在“Order”表中出现两次。

1 个答案:

答案 0 :(得分:1)

嗯,这些解决方案都不是最佳解决方案。但是如果你必须选择,我会说LECTURER_ID应该是SUBJECT表中的外键。

但我会建议你使用Boyce Codd普通表格。然后,您将总共创建三个表。

LECTURER

LECTURE_ID(PK) LECTURE_NAME
4              Kolmogorov
5              Schmidt

SUBJECT

SUBJECT_ID(PK) SUBJECTE_NAME
5              Math
6              Arts

LECTURER_SUBJECT

LECTURE_ID(PK)(FK) SUBJECT_ID (PK)(FK)
4                  5
4                  6

这样,讲师可以有多个科目,一个科目可以有多个讲师。