ER图中的递归关系简要介绍

2021年4月1日14:32:58 发表评论 2,826 次浏览

先决条件–ER模型

相似实体类型的两个实体之间的关系称为递归的关系。在这里, 相同的实体类型不止一次参与关系类型, 每个实例具有不同的角色。换句话说, 两个不同实体中的事件之间始终存在关系。但是, 同一实体有可能参与该关系。这称为递归的关系。

ER图中的递归关系1

示例–

让我们假设我们有一个雇员表。经理监督下属。除首席执行官外, 每个员工都可以有一名主管, 每个员工最多可以有一个老板。一名雇员可能是多名雇员的老板。假设REPORTS_TO是Employee实体类型上的递归关系, 其中每个Employee都扮演两个角色

  1. 主管
  2. 下属
ER图中的递归关系2

主管和下属称为"角色名称"。这里, 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)

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: