什么是实体关系图 (ERD)?

数字生成的深蓝色立方体相互连接的图像

作者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是实体关系图 (ERD)?

实体关系图(ER 图或 ERD)是数据库中项目如何相互关联的可视化表示。实体关系图 (ERD) 是一种特殊类型的流程图,用于传达系统内不同实体之间的关系类型。其使用一组确定的符号,包括矩形、椭圆形和菱形,并以连接线相互连接。

在数据库设计的关系模型中,实体关系图 (ERD) 确定数据库中的条目是如何连接的。实体关系图 (ERD) 是一种高级概念数据模型,为更高级的数据库设计和分析奠定了基础。

此外,实体关系建模可以帮助从看似不同的数据点集合中提炼出叙述和见解。

实体关系图 (ERD) 的用途是什么?

      数据库设计和数据建模

      业务分析师和数据库工程师使用 ER 图作为数据建模工具来评估其组织需要的数据库范围,然后规划数据的存储方式。

      实体关系图 (ERD) 通过列出信息系统架构和数据库结构的要求来通知数据库项目的软件工程部分。在数据库管理系统 (DBMS) 软件工程的三层架构方法中,实体关系图 (ERD) 是概念层。

      数据整合是一个复杂的数据工程过程,由许多活动部件组成。实体关系图 (ERD) 可以帮助数据工程师概念化整个系统并减少出错的可能性。

      数据库问题解决

      将现有数据库与实体关系图 (ERD) 进行比较可以发现可能导致问题的数据库设计失误。具有大量表的复杂数据库需要大量的 SQL 知识才能完成调试过程。实体关系图 (ERD) 汇总了数据库,因此工程师可以快速识别潜在错误。

      业务流程重组 (BPR):

      在进行业务流程重组项目时,获得组织信息系统内所有数据的鸟瞰图会很有帮助。实体关系图 (ERD) 用于起草更新、更高效的数据架构解决方案,以促进 BPR 流程的其他阶段。

      比较实体关系图 (ERD)、数据库模式和数据流图

      实体关系图 (ERD)、数据库架构和数据流图都直观地表示数据在系统中的布置方式。

      • 实体关系图 (ERD)说明数据库中的实体及其相互关系。ER 图通常描述数据库模式。

      • 数据库架构确定如何在关系数据库中对现实世界的实体进行建模。它们包含确定数据库组织的规则和准则,例如表名称、字段和数据类型。

      • 数据流图是一种流程图,描绘通过流程或系统的数据流向。它们展示了数据如何从流程移动到内部和外部存储位置。

      小球在轨道上滚动的三维设计

      最新的 AI 新闻 + 洞察分析

      在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

      常见实体关系图 (ERD) 组件

      实体关系图 (ERD)包括实体、这些实体的属性以及它们之间的关系。一些实体关系图 (ERD) 还传达基数,它量化了两个实体之间的关系。

      实体

      实体关系图 (ERD) 是可定义的事物,例如人、角色、事件、概念或对象,其相关信息可存储在关系数据库中。许多实体关系图 (ERD) 都将实体描绘成矩形。

      • 人员或角色:学生、销售人员、高管或客户。
      • 活动:交易、注册或取消订阅。
      • 概念:形象或角色。
      • 对象:产品、发票或电子邮件。

      实体在语法意义上类似于名词。它们是数据库中的核心项目,其属性和关系传达有关这些实体的信息,就像形容词和动词提供有关句子中名词的更多信息一样。

      实体类型

      实体类型是一类实体。如果实体类似于名词,那么实体类型就是名词的类别:食物、运动和国家。实体类型中的各个实体称为实例。在实体类型中,蔬菜可能是实例西兰花胡萝卜芦笋

      强实体与弱实体

      实体分强弱。强实体在其属性中包含足够的识别信息,无需进一步澄清。同时,弱实体仅作为另一个实体的结果或后果而存在。与给定弱实体相关的强实体被称为其父实体或所有者实体。

      考虑建立一个电子商务企业客户订单模型数据库。每个订单都是一个强大的实体,因为它可以根据购买者、时间和日期被定义为一个唯一的实例。但是,每个订单中的订单项目都是薄弱实体。它们只有在各自的命令范围内才有意义。这种依赖被称为"存在依赖"或"参与约束"。

      强实体显示为实心矩形,而实体关系图 (ERD) 将弱实体显示为双矩形。

      关联实体

      关联实体链接两个实体集之间的实例,并具有自己的属性,这些属性提供有关该关系的更多信息。在大学使用的实体关系图 (ERD) 中,该实体将学生和教授设置为彼此之间有许多连接。将两者联系起来的关联实体将显示哪些学生正在参加由哪些教授的课程。

      关系数据库使用关联实体来通知联接表,联接表合并了来自多个其他数据库表的字段。在 ER 图表中,关联实体被描绘成矩形内的菱形。

      属性

      属性是定义实体或实体类型的品质、属性和特征。在经典的实体关系图 (ERD) 设计中,属性为椭圆形,并显示在实体关系图 (ERD) 中相应实体的旁边。

      属性类型

      • 简单属性无法简化或分解为更多属性。邮政编码是简单属性的一个示例。
      • 复合属性由其他属性编译而成,可能简单,也可能不简单。地址是一个复合属性,包含街道编号、街道名称、邮政编码、城市和其他标识信息。
      • 派生属性是根据其他属性计算得出的。员工的薪资值派生自他们的工作时间、发薪期和工资。实体关系图 (ERD) 将派生属性描绘为虚线椭圆。
      • 多值属性的每条记录可以有多个值,而单值属性则不能。

      关键属性

      实体键是唯一定义数据集中每个实体的属性。任何属性都可以指定为键,只要它能填补这个角色。例如,在人物实体集中,国民身份证号码可能是适当的关键属性。相反,在这个上下文中,姓氏不能作为关键属性,因为有多个人可能具有相同的姓氏。

      • 超键:可以在实体集中唯一定义实体的一个或多个属性。
      • 候选键:最简单的超级键—候选键中的任何属性本身都不能成为超级键。候选键可能由一个或多个属性组成,只有当每个属性都不是超级键时。
      • 主键:候选键,为了唯一定义实体集而选择。由于主键是区分每个实体的基础,因此数据库中的任何两个条目都不能共享相同的主键值。在 ER 图中,每个实体的主键都会有下划线。任何包含主键的实体都被视为强实体。
      • 外键:标识一个实体与另一个实体关系的属性。弱实体依赖外键将其定义为强实体。例如,弱实体银行账户需要一个外键将其链接到相关银行。

      关系

      关系是将实体关系图 (ERD) 中的实体连接在一起的连线。它们指示实体关系图 (ERD) 中的实体如何相互关联。如果实体是名词,属性是形容词,那么关系就是动词。

      在传统的实体关系图 (ERD) 中,关系被描绘成菱形。弱关系将弱实体与其所有者绑定,并显示为双菱形。

      实体参与关系可能是完全的(在这种情况下,整个实体集都涉及关系),也可能是部分的。在部分参与中,集合中的部分或全部实体可能在任何特定时间参与到关系中。

      关系基数

      基数是关系的质量,它定义一个实体中与另一个实体的实例关联的实例数。

      • 一对一关系 (1:1)表示一个实体中的一条记录只能被另一个实体中的一条记录引用。实体的大学和校长之间的关系是一对一的关系,因为每所大学都只有一位校长。相反,每位校长只负责一所大学。
      • 一对多关系 (1:M) 描述的是一个实体中的每条记录都与另一个实体中的多条记录相关联的情况。实体大学和院系之间存在一对多的关系。一所大学可能有多个院系,但每个院系只属于一所大学。
      • 多对多关系 (M:M) 显示两个实体中都有一条或多条记录可以连接。实体学生和教授具有多对多关系,因为就像一位教授的课程可以有许多学生一样,每个学生也可能注册其他教授的课程。

      实体关系图 (ERD) 通过实体之间连接线的变化来表示基数。基数的显示方式取决于所使用的实体关系图 (ERD) 样式。

      AI 学院

      成为 AI 专家

      获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

      ER 模型的类型

      大多数实体关系图 (ERD) 都是采用三种实体关系模型中的一种来绘制的:概念、逻辑和物理。这三种模型都描述了实体及其属性和关系,但它们的用例和目标受众不同。概念性是最不详细的,而物理实体关系图 (ERD) 提供的信息最精细。

      • 概念 ER 模型提供了实体关系图 (ERD) 中数据的高级视图。业务分析师将它们用于大型数据库设计项目,例如 数据仓库。概念数据模型通常包含实体和关系,而不深入研究数据库表和基数。
      • 逻辑 ER 模型与概念模型类似,但细节稍微多一些。在逻辑数据模型中,每个实体内的列或属性都被定义,操作实体和事务实体也是如此。业务分析师将逻辑数据模型用于较小规模的数据库设计项目。
      • 物理 ER 模型是数据库设计项目的具体蓝图。它们包括最大的详细信息量,例如基数、主键和外键。数据库设计人员和工程师根据业务分析师提供给他们的概念和逻辑模型创建物理数据模型。

      实体关系图 (ERD) 样式

      自从计算机科学家和数据库理论家 Peter Chen 在 20 世纪 70 年代引入实体关系图 (ERD) 以来,已经出现了多种类型的图表来满足越来越多的用例。

      Chen 样式

      Chen 实体关系图 (ERD) 看起来与经典流程图类似,各种形状都通过线条连接。基数使用沿连接线的字符 1MN 表示。MN都表示“多”,表示一对多或多对多的关系;使用M:NN:M符号描述后者意味着关系中的实体数量双方不必相同。

      Chen 风格用单线连接表示全部参与,用双线连接表示部分参与。

      鸟爪注记

      鸟爪注记因其使用三叉连接线显示多个关系而得名,其使用表格取代了 Chen 样式中的符号。每个表代表一个实体,并包含其所有属性。鸟爪注记允许实体关系图 (ERD) 创建者显示有关关系基数的信息。

      Bachman 风格

      Charles Bachman 的数据结构图直接启发了 Chen 创建实体关系图 (ERD)。Bachman 用带箭头的线表示关系中的基数。

      IDEF1X 样式

      美国空军于 20 世纪 80 年代推出了信息建模集成定义 (IDEF1X) 语言,以支持语义数据模型的开发。通过在共享表中显示属性并引入更多基数选项,Chen 的工作向前迈进了一步。

      Barker 风格

      Barker 样式由 Richard Barker 于 1981 年创建,是 Oracle 中使用的标准样式。Barker 注记为连接线条采用鸟爪样式,同时也使用虚线来表示部分或可选参与。

      相关解决方案
      数据库软件和解决方案

      使用 IBM 数据库解决方案满足混合云中的各种工作负载需求。

      深入了解数据库解决方案
      采用 IBM Db2 的云原生数据库

      深入了解 IBM Db2,这是一种关系数据库,为存储和管理结构化数据提供高性能、可扩展性和可靠性。该数据库在 IBM Cloud 上作为 SaaS 提供,也可以用于自托管。

      探索 Db2
      数据和分析咨询服务

      通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

      了解分析服务
      采取后续步骤

      使用 IBM 数据库解决方案满足混合云中的各种工作负载需求。

      深入了解数据库解决方案 深入了解 IBM Db2