有人可以向我解释这个基数参与约束吗?

时间:2016-11-23 04:31:38

标签: mysql sql database entity-relationship cardinality

我正在阅读我的数据库书,它有这个图表:

enter image description here

我不理解第二个图表,因为"员工 - 工作 - 部门"。

这个图表是说MINIMUM只有1名员工,最多1名员工可以在1个部门的最低工作,以及最多的部门工作吗?

这没有意义。这种约束(1,1)不会限制部门只有1名员工在其中工作吗?不应该是这样的:

员工(1,N)(1,N)部门

如果有人可以向我解释,那就太好了。我怀疑我读错了。

1 个答案:

答案 0 :(得分:2)

在第二个图表中,(1,1)表示每个EMPLOYEE必须在关系中出现一次且仅出现一次。由于关系中的每个元组将一个EMPLOYEE与一个DEPARTMENT相关联,如果EMPLOYEE在整个关系中仅出现一次,则它们将仅与一个DEPARTMENT相关联。因此,这意味着每个EMPLOYEE适用于单个DEPARTMENT

(1,N)约束表示每个DEPARTMENT必须在关系中至少出现一次,但可以多次出现。每个外观都与EMPLOYEE相关联。换句话说,这意味着DEPARTMENT必须至少有一个,但可以有多个EMPLOYEE

为了完整起见,让我把第一个图表放在相同的术语中。每个EMPLOYEE最多只能出现一次,这意味着EMPLOYEE可以管理一个DEPARTMENT或不管理DEPARTMENT。每个DEPARTMENT必须只显示一次,因此每个EMPLOYEE必须由一个final Object o = Boolean.TRUE; boolean b = (boolean) o; 管理。