终极实体关系图教程(ER 图)

已发表: 2017-03-07

所以你想学习实体关系图? 本 ER 图教程将介绍它们的用法、历史、符号、符号以及如何使用我们的 ER 图软件来绘制它们。 我们还添加了一些模板供您快速入门。

什么是ER图?

实体关系图 (ERD) 是系统内不同实体以及它们如何相互关联的可视化表示。 例如,元素作家、小说和消费者可以使用 ER 图描述如下:

招生系统ER图模板(点击图片在线修改)

ER 图的历史

尽管数据建模在 1970 年代左右已成为必需品,但没有标准的方法来为数据库或业务流程建模。 尽管提出并讨论了许多解决方案,但没有一个被广泛采用。

Peter Chen 在他的论文“实体关系模型——迈向统一的数据视图”中引入了广泛采用的 ER 模型。 重点是实体和关系,他还介绍了用于数据库设计的图表表示。

他的模型受到查尔斯巴赫曼介绍的数据结构图的启发。 ER 图的早期形式之一,巴赫曼图以他的名字命名。

有关 ER 图和数据建模评估的详细历史,请参阅本文。

ER图有什么用?

ER图的用途是什么? 它们在哪里使用? 尽管它们可用于对几乎任何系统进行建模,但它们主要用于以下领域。

数据库设计中的 ER 模型

它们被广泛用于设计关系数据库。 ER 模式中的实体成为表、属性并转换了数据库模式。 由于它们可用于可视化数据库表及其关系,因此通常也用于数据库故障排除。

软件工程中的实体关系图

实体关系图在软件项目的规划阶段用于软件工程。 它们有助于识别不同的系统元素及其相互关系。 它通常用作众所周知的数据流图或 DFD 的基础。

例如,零售店中使用的库存软件将有一个数据库来监控诸如采购、商品、商品类型、商品来源和商品价格等元素。 通过 ER 图呈现此信息将是这样的:

具有属性的实体的 ER 图示例
具有属性的实体的 ER 图示例

在图中,椭圆形内的信息是特定实体的属性。

实体关系图 (ERD) 符号和符号

本 ER 图教程中讨论的 ER 图符号
ER图中的元素

ER 图中包含三个基本元素:实体、属性、关系。 还有更多基于主要元素的元素。 它们是弱实体、多值属性、派生属性、弱关系和递归关系。 基数和序数是 ER 图中用于进一步定义关系的另外两个符号。

实体

实体可以是与给定系统相关的人、地点、事件或对象。 例如,学校系统可能包括学生、教师、专业课程、科目、费用和其他项目。 实体在 ER 图中用矩形表示,并使用单数名词命名。

弱实体

弱实体是依赖于另一个实体存在的实体。 用更专业的术语来说,它可以被定义为一个不能由它自己的属性来识别的实体。 它使用外键结合其属性来形成主键。 像订单项这样的实体就是一个很好的例子。 没有订单,订单项将毫无意义,因此取决于订单的存在。

实体关系图中的弱实体
ER图中的弱实体示例

属性

属性是实体、关系或其他属性的属性、特征或特征。 例如,属性 Inventory Item Name 是实体 Inventory Item 的属性。 一个实体可以有尽可能多的属性。 同时,属性也可以有自己特定的属性。 例如,属性“客户地址”可以具有属性编号、街道、城市和州。 这些被称为复合属性。 请注意,为简单起见,某些顶级 ER 图不显示属性。 然而,在那些这样做的情况下,属性由椭圆形表示。

ER 图中的属性
ER图中的属性,注意一个属性可以有自己的属性(复合属性)

多值属性

如果一个属性可以有多个值,则称为多值属性。 需要注意的是,这与具有自己属性的属性不同。 例如,一个教师实体可以有多个主题值。

实体关系图中的多值属性
多值属性示例

派生属性

基于另一个属性的属性。 这在 ER 图中很少见。 例如,对于一个圆,面积可以从半径得出。

ER图中的派生属性
ER图中的派生属性

关系

关系描述实体如何交互。 例如,实体“Carpenter”可以通过关系“builds”或“makes”与实体“table”相关联。 关系由菱形表示并使用动词标记。

ER图中的关系
在实体关系图中使用关系

递归关系

如果同一个实体多次参与关系,则称为递归关系。 在下面的示例中,员工可以是主管并被监督,因此存在递归关系。

ER图中的递归关系
ER图中的递归关系示例

基数和序数

这两个通过将关系置于数字的上下文中来进一步定义实体之间的关系。 例如,在电子邮件系统中,一个帐户可以有多个联系人。 在这种情况下,这种关系遵循“一对多”模型。 在 ER 图中,有许多用于表示基数的符号。 Chen、UML、Crow's foot、Bachman 是一些流行的符号。 Creately 支持 Chen、UML 和 Crow's foot 符号。以下示例使用 UML 来显示基数。

ER图中的基数
使用 UML 表示法的 ER 图中的基数

如何绘制 ER 图

以下几点显示了如何创建 ER 图。

  1. 识别系统中的所有实体。 一个实体在特定图表中应该只出现一次。 为所有实体创建矩形并正确命名它们。
  2. 识别实体之间的关系。 使用一条线将它们连接起来,并在中间添加一个菱形来描述这种关系。
  3. 为实体添加属性。 给出有意义的属性名称,以便易于理解。

听起来很简单吧? 在复杂的系统中,识别关系可能是一场噩梦。 这是你只有通过练习才能完善的东西。

快速创建您的 ER 图和数据库设计,与您的团队协作,随着设计的发展维护和跟踪更改。

创建 ERD

ER图最佳实践

  1. 为图中的每个实体、属性和关系提供准确且适当的名称。 简单而熟悉的术语总是胜过模糊的、技术性的词。 在命名实体时,请记住使用单数名词。 但是,形容词可用于区分属于同一类的实体(例如,兼职员工和全职员工)。 同时,属性名称必须有意义、唯一、独立于系统且易于理解。
  2. 删除实体之间模糊、冗余或不必要的关系。
  3. 永远不要将一段关系与另一段关系联系起来。
  4. 有效利用色彩。 您可以使用颜色对相似实体进行分类或突出显示图表中的关键区域。

使用 Creately 绘制 ER 图

您可以手动绘制实体关系图,尤其是当您只是非正式地向同行展示简单系统时。 但是,对于更复杂的系统和外部受众,您需要 Creately 等图表软件来制作具有视觉吸引力且精确的 ER 图。 Creately 作为在线服务提供的 ER 图表软件非常易于使用,并且比购买许可软件便宜得多。 由于其对协作的强大支持,它也非常适合开发团队。

ER 图模板

以下是一些 ER 图模板,您可以快速入门。 单击图像并在打开的新页面中单击“用作模板”按钮。 有关更多模板,请查看我们的 ER 图模板部分。

ER图模板
考试数据库的ER图模板(点击图片用作模板)

用于快速入门的基本 ER 图模板

实体关系图模板
基本 ER 图模板(单击以用作模板)

ER图的好处

ER 图构成了用于创建和操作数据库的非常有用的框架。 首先,ER图很容易理解,不需要一个人接受广泛的培训就可以有效、准确地使用它。 这意味着设计人员可以使用 ER 图轻松地与开发人员、客户和最终用户进行交流,无论他们的 IT 熟练程度如何。

其次,ER 图很容易转换成关系表,可以用来快速构建数据库。 此外,数据库开发人员可以直接使用 ER 图作为在特定软件应用程序中实现数据的蓝图。

最后,ER 图可以应用于其他环境,例如描述组织内的不同关系和操作。

对 ER 图教程的反馈

我已尽力涵盖您需要了解的有关 ER 图的所有信息。 如果您认为我错过了某些部分,请务必在评论部分中提及。 这也是一个提问的好地方。

参考

1. 维基百科上发布的实体关系模型。
2. Mike Chapple 在 About.com 网站上发布的实体关系图