先决条件–ER模型
相似实体类型的两个实体之间的关系称为递归的关系。在这里, 相同的实体类型不止一次参与关系类型, 每个实例具有不同的角色。换句话说, 两个不同实体中的事件之间始终存在关系。但是, 同一实体有可能参与该关系。这称为递归的关系。
示例–
让我们假设我们有一个雇员表。经理监督下属。除首席执行官外, 每个员工都可以有一名主管, 每个员工最多可以有一个老板。一名雇员可能是多名雇员的老板。假设REPORTS_TO是Employee实体类型上的递归关系, 其中每个Employee都扮演两个角色
- 主管
- 下属
主管和下属称为"角色名称"。这里, REPORTS_TO关系的程度是1, 即一元关系。
- 主管实体的最小基数为零, 因为最低级别的员工可能不是任何人的经理。
- 主管实体的最大基数为N, 因为一个员工可以管理许多员工。
- 同样, 下属实体的最小基数为零, 以说明CEO永远不能成为下属的情况。
- 由于下属员工最多只能有一位主管, 因此最大基数为ONE。
注意 -在此, 由于两个最小基数均为零, 因此没有一个参与者有总参与度。因此, 在ER图中, 关系通过单线而不是双线连接。
为了实现递归关系, 将在每个员工记录中保留员工经理编号的外键。样本表如下所示:-
Emp_entity( Emp_no, Emp_Fname, Emp_Lname, Emp_DOB, Emp_NI_Number, Manager_no);
Manager no - (this is the employee no of the employee's manager)
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。