ER图中2个实体之间的2个关系

Posted

技术标签:

【中文标题】ER图中2个实体之间的2个关系【英文标题】:2 relationships between 2 entities in ER diagram 【发布时间】:2013-01-10 15:41:39 【问题描述】:

我正在尝试绘制描述以下内容的 ER 图:

-“部门”雇用“员工”

-一些“员工”是“特殊的”并且有更多的属性

-一些“员工”(“特殊”和非特殊)是“经理”

-“经理”管理“部门”

所以,为了传达这一点,我有:

Department ------(employs)------- Employee-----<--------Special
      |                             |
      |-----------(manages)----------

据我了解,我不能在 2 个实体之间建立 2 个关系。那我该如何处理这种情况呢?

【问题讨论】:

【参考方案1】:

没有理由不能在相同的两个实体之间建立多个关系,在这方面您的理解是错误的。

当然,您必须确定关系捕获不同的信息,并且您没有将单一关系的两个方面误认为是两个不同的关系。您的示例似乎很适合在两个实体之间建立两种关系。

【讨论】:

【参考方案2】:

你好,看这个图,希望对你有帮助

【讨论】:

只有当Department 可以有多个Employee 作为管理者时,此解决方案才可接受。【参考方案3】:

更好的方法是在Employee表IsManager中添加一个位字段,所以如果他是经理,那就意味着他是他所在部门的经理。

【讨论】:

这种方法不允许员工管理一个部门,除非他也在该部门,并且它还允许多个员工在同一部门担任经理。 在下面查看我的其他答案 嘿,你用什么软件来制作图表? @el-aasi 我正在使用 Sql Management Studio。观看此youtube.com/watch?v=wMbPRHeYvMU【参考方案4】:

您的雇员和管理人员的关系将是两个链接表。例如考虑如下表和字段:

Department
   DepartmentID
   DepartmentName

Employee
   EmployeeID
   EmployeeName

SpecialEmployee
   EmployeeID
   Attr1
   Attr2

现在您可以继续链接员工和部门:

DepartmentEmploys
     DepartmentEmploysID
     DepartmentID
     EmployeeID


ManagesDepartment
     ManagesDepartmentID    
     EmployeeID
     DepartmentID

现在你们的关系不会重叠或干扰。您的图表中似乎绘制的内容是正确的。两个实体之间可以存在不止一种关系。

【讨论】:

您的第一个链接表不是必需的DepartmentEmploys 中的 DepartmentID 可以简单地是 Employee 表中的 FK。此外,仅当 Department 可以有 多个 Employee 作为管理器时,第二个链接表才可接受。【参考方案5】:

应该只有一个员工类如果您有多个员工类别,那么您可以创建员工类的子类。 家长:员工 第一个孩子:特殊员工 第二个孩子:普通员工

【讨论】:

以上是关于ER图中2个实体之间的2个关系的主要内容,如果未能解决你的问题,请参考以下文章

E-R模型就是关系模型吗??

实体关系图中的sql联结表如何显示

如果这些表之间没有关系,我该如何加入2个实体表?

ER(实体关系)图的答案评估

实体之间的核心数据关系

数据库范式以及ER图