带DBMS示例的实体关系(ER)图模型
什么是 ER 图?
ER 图代表实体关系图,也称为 ERD,是一种显示数据库中存储的实体集关系的图。换句话说,ER 图有助于解释数据库的逻辑结构。ER 图基于三个基本概念构建:实体、属性和关系。
ER 图包含不同的符号,使用矩形表示实体,椭圆形表示属性,菱形表示关系。
乍一看,ER 图与流程图非常相似。然而,ER 图包含许多专用符号,其含义使此模型独一无二。ER 图的目的是表示实体框架基础设施。

什么是 ER 模型?
ER 模型代表实体关系模型,是一种高级概念数据模型图。ER 模型有助于系统地分析数据需求,从而设计出良好的数据库。ER 模型表示现实世界的实体及其之间的关系。在 DBMS 中创建 ER 模型被认为是实现数据库之前的最佳实践。
ER 建模有助于您系统地分析数据需求,从而设计出良好的数据库。因此,在实现数据库之前完成 ER 建模被认为是最佳实践。
ER 模型历史
ER 图是用于表示 ER 模型的可视化工具。Peter Chen 于 1971 年提出了 ER 图,以创建可用于关系数据库和网络的统一约定。他旨在将 ER 模型用作概念建模方法。
为什么使用 ER 图?
以下是使用 ER 图的主要原因
- 帮助您定义与实体关系建模相关的术语
- 提供有关所有表应如何连接、每个表包含哪些字段的预览
- 帮助描述实体、属性、关系
- ER 图可转换为关系表,让您能够快速构建数据库
- 数据库设计人员可以使用 ER 图作为蓝图,在特定的软件应用程序中实现数据
- 数据库设计人员借助 ER 图更好地了解数据库中应包含的信息
- ERD 图允许您将数据库的逻辑结构传达给用户
关于 ER 图模型的注意事项
现在,在本 ERD 图教程中,让我们了解一些关于 ER 图模型的有趣事实
- ER 模型允许您绘制数据库设计
- 它是一个易于使用的图形化数据建模工具
- 在数据库设计中广泛使用
- 它是数据库逻辑结构的 GUI 表示
- 它有助于识别系统中存在的实体以及这些实体之间的关系
ER 图符号和表示法
实体关系图符号和表示法主要包含三个基本符号:矩形、椭圆形和菱形,用于表示元素、实体和属性之间的关系。ERD 图中还包含一些基于主元素子元素。ER 图是数据的可视化表示,它使用不同的 ERD 符号和表示法描述数据如何相互关联。
以下是 ER 图中的主要组件及其符号
- 矩形:此实体关系图符号表示实体类型
- 椭圆形:符号表示属性
- 菱形:此符号表示关系类型
- 线条:它将属性链接到实体类型,并将实体类型链接到其他关系类型
- 主键:属性下划线
- 双椭圆形:表示多值属性

ER 图的组成部分
此模型基于三个基本概念
- 实体
- 属性
- 关系
ER 图示例
例如,在大学数据库中,我们可能有学生、课程和讲师实体。学生实体可以拥有如学号、姓名和部门 ID 等属性。它们可能与课程和讲师有关系。

什么是实体?
一个现实世界中的事物,无论是有生命的还是无生命的,都可以轻松识别和难以识别。它是企业中需要反映在数据库中的任何事物。它可以是物理事物,也可以是关于企业的事实,或者是现实世界中发生的事件。
实体是存储在数据库中的地方、人、对象、事件或概念。实体的特征必须具有属性和唯一键。每个实体都由一些“属性”组成,这些属性代表该实体。
实体的例子
- 人:员工、学生、病人
- 地点:商店、建筑
- 对象:机器、产品和汽车
- 事件:销售、注册、续订
- 概念:账户、课程
实体的表示法
实体集
学生
实体集是相似实体的集合。它可能包含具有相似值属性的实体。实体由其属性表示,也称为属性。所有属性都有其独立的值。例如,一个学生实体可能有姓名、年龄、班级等属性。
实体示例
一所大学可能有几个系。所有这些系都聘请了各种讲师,并提供多个课程。
一些课程构成每个课程。学生注册一个特定的课程,并参加各种课程。来自特定系的讲师教授每门课程,每位讲师教授不同组的学生。
关系
关系就是两个或多个实体之间的关联。例如,汤姆在化学系工作。
实体参与关系。我们通常可以用动词或动词短语来识别关系。
例如
- 你正在听这场讲座
- 我正在讲授这门课
- 就像实体一样,我们可以根据关系类型对关系进行分类
- 学生参加讲座
- 讲师正在讲授讲座。
弱实体
弱实体是一种没有主键属性的实体。通过考虑另一个实体的关键字,可以唯一地识别它。为此,弱实体集需要参与。
在上述 ER 图示例中,“交易编号”是 ATM 交易组内的区分符。
让我们通过与强实体的比较来进一步了解弱实体
强实体集 | 弱实体集 |
---|---|
强实体集始终具有主键。 | 它没有足够的属性来构建主键。 |
它由矩形符号表示。 | 它由双矩形符号表示。 |
它包含由下划线符号表示的主键。 | 它包含由虚线下划线符号表示的部分键。 |
强实体集成员称为主导实体集。 | 弱实体集成员称为附属实体集。 |
主键是其帮助识别成员的属性之一。 | 在弱实体集中,它是强实体集的主键和部分键的组合。 |
在 ER 图中,两个强实体集之间的关系用菱形符号表示。 | 一个强实体集和一个弱实体集之间的关系用双菱形符号表示。 |
强实体集与关系的连接线是单线。 | 连接弱实体集以识别关系的线是双线。 |
属性
它是实体类型或关系类型的单值属性。
例如,一场讲座可能具有属性:时间、日期、持续时间、地点等。
ER 图示例中的属性由椭圆形表示
属性类型 | 描述 |
---|---|
简单属性 | 简单属性无法进一步细分。例如,学生的联系电话。它也称为原子值。 |
复合属性 | 可以分解复合属性。例如,学生的姓名可以进一步分为名字、中间名和姓。 |
派生属性 | 此类属性不包含在物理数据库中。但是,它们的值是从数据库中存在的其他属性派生出来的。例如,年龄不应直接存储。相反,它应该从该员工的 DOB 中派生出来。 |
多值属性 | 多值属性可以有多个值。例如,一个学生可以有多个手机号码、电子邮件地址等。 |
基数
定义两个实体或实体集之间关系的数值属性。
不同的基数关系类型有
- 一对一关系
- 一对多关系
- 多对一关系
- 多对多关系
1.一对一
实体集 X 中的一个实体最多可以与实体集 Y 中的一个实体相关联,反之亦然。
示例:一名学生可以注册多门课程。但是,所有这些课程都有一条线指向该学生。
2.一对多
实体集 X 中的一个实体可以与实体集 Y 中的多个实体相关联,但实体集 Y 中的一个实体至少可以与一个实体相关联。
例如,一个班级由多个学生组成。
3.多对一
实体集 X 中的多个实体最多可以与实体集 Y 中的一个实体相关联。但是,实体集 Y 中的一个实体可能与实体集 X 中的多个实体相关联,也可能不相关联。
例如,许多学生属于同一个班级。
4.多对多
X 中的一个实体可以与 Y 中的多个实体相关联,反之亦然。
例如,学生作为一个群体与多位教职员工相关联,而教职员工也可以与多位学生相关联。
如何创建实体关系图 (ERD)
现在,在本 ERD 图教程中,我们将学习如何创建 ER 图。以下是创建 ER 图的步骤

让我们通过一个实体关系图示例来研究它们
In a university, a Student enrolls in Courses. A student must be assigned to at least one or more Courses. Each course is taught by a single Professor. To maintain instruction quality, a Professor can deliver only one course
第 1 步)实体识别
我们有三个实体
- 学生
- 课程
- 教授
第 2 步)关系识别
我们有以下两种关系
- 学生被分配课程
- 教授讲授课程
第 3 步)基数识别
根据问题陈述,我们知道:
- 一名学生可以被分配多门课程
- 一名教授只能讲授一门课程
第 4 步)识别属性
您需要研究组织当前维护的文件、表单、报告、数据以识别属性。您还可以与各种利益相关者进行访谈以识别实体。最初,在将属性映射到特定实体之前识别属性很重要。
一旦有了属性列表,就需要将其映射到已识别的实体。确保一个属性只与一个实体配对。如果您认为一个属性应属于多个实体,请使用修饰符使其唯一。
映射完成后,识别主键。如果找不到现成的主键,请创建一个。
实体 | 主键 | 属性 |
---|---|---|
学生 | 学生 ID | 学生姓名 |
教授 | 员工 ID | 教授姓名 |
课程 | 课程 ID | 课程名称 |
对于课程实体,属性可以是持续时间、学分、作业等。为方便起见,我们只考虑了一个属性。
第 5 步)创建 ERD 图
实体关系图示例的更现代表示
开发有效 ER 图的最佳实践
以下是一些开发有效 ER 图的最佳实践或示例。
- 消除任何冗余的实体或关系
- 您需要确保所有实体和关系都已正确标记
- ER 图可能有多种有效的方法。您需要确保 ER 图支持您需要存储的所有数据
- 您应该确保每个实体在 ER 图中只出现一次
- 为图表中显示的所有关系、实体和属性命名
- 切勿将关系相互连接
- 您应该使用颜色来突出 ER 图的重要部分
摘要
- DBMS 中的 ER 模型代表实体-关系模型
- ER 模型是高级数据模型图
- ER 图是用于表示 ER 模型的可视化工具
- DBMS 中的 ER 图是数据库的蓝图
- 实体关系图 DBMS 显示存储在数据库中的实体集的关系
- ER 图帮助您定义与实体关系建模相关的术语
- DBMS 中的 ER 模型基于三个基本概念:实体、属性和关系
- 实体是存储在数据库 (DBMS) 中的地方、人、对象、事件或概念
- 关系就是两个或多个实体之间的关联
- 弱实体是一种没有主键属性的实体
- 它是实体类型或关系类型的单值属性。
- 它帮助您定义两个实体或实体集之间关系的数值属性
- DBMS 中的 ER 图是数据的可视化表示,描述了数据如何相互关联
- 在 DBMS 中绘制 ER 图时,您需要确保所有实体和关系都已正确标记。