实体关系图需要属性来表示关系吗?

问题描述 投票:0回答:1

我正在为一项作业设计 ERD。简介将包含关系,例如“每个员工都被分配到一个部门”。

我可以在实体中添加一个字段:“分配的部门”。但就我目前所看到的各种消息来源来看,这要么是偶然,要么是失败。有些消息来源这样做。有些人喜欢将其省略,而是在连接两个实体的线上添加文本标签“分配给”。

有这方面的指导吗?我稍后将对其进行标准化,因此,如果这是标准化步骤而不是 ERD 步骤,我希望最好在标准化时执行此操作。

relationship erd
1个回答
0
投票

您可以将信息作为属性(字段)提供,例如

Name
Employee
Id
Department

但在 ERD 中,这意味着:

  • 这只是一个与另一个值相似的值。
  • 在指定部门的情况下,您会错过实体
    Department
    并且无法代表不同的关系(例如,如果您必须与在多个部门兼职的员工建立多对多关系)。
  • 您会错过部门的身份:如果一个部门被重命名,您必须找回可能使用该部门的所有实体中的所有属性,并更新名称(如果它与旧值匹配)。有了正确的实体,您只需重命名一个实体,所有相关实体仍将通过主键与其相关。
  • 处理这种关系会很困难。例如。如果每个员工都被分配到一个实体,您同样可以让一名员工管理该部门,但要了解如何在实体之间导航以找到员工的老板就不那么简单了。

作为提示,一旦关系被表达,具有基数约束或强制与可选参与,考虑将其设为实体会更安全。

© www.soinside.com 2019 - 2024. All rights reserved.