我正在阅读我的数据库书籍,其中有这个图表:
我不明白第二个图表,即“员工 - 工作部门 - 部门”。
此图是否表示最少只有 1 名员工,最多 1 名员工可以为最少 1 个部门工作,最多可以为多个部门工作?
这没有道理。 (1,1) 的约束是否会限制该部门只能有 1 名员工在其中工作?难道不应该是这个吗:
员工 (1, N) (1,N) 部门
如果有人可以向我解释这一点,那就太好了。我怀疑我读错了。
最佳答案
在第二个图中,(1,1)
表示每个 EMPLOYEE
在关系中必须出现且仅出现一次。由于关系中的每个元组将一个 EMPLOYEE
与一个 DEPARTMENT
相关联,因此如果 EMPLOYEE
在整个关系中只出现一次,它们将与总共只有一个 DEPARTMENT
。因此,这意味着每个 EMPLOYEE
为一个 DEPARTMENT
工作。
(1,N)
约束指示每个 DEPARTMENT
必须在关系中至少出现一次,但可以出现多次。每个外观都将与一个EMPLOYEE
相关联。换句话说,这意味着 DEPARTMENT
必须至少有一个,但可以有多个 EMPLOYEE
。
为了完整起见,让我将第一个图表放入相同的术语中。每个EMPLOYEE
最多只能出现一次,这意味着一个EMPLOYEE
可以管理一个DEPARTMENT
,也可以不管理。每个DEPARTMENT
必须恰好出现一次,因此每个DEPARTMENT
必须由单个EMPLOYEE
管理。
关于mysql - 有人可以向我解释一下这个基数参与约束吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40756073/