带DBMS示例的实体关系(ER)图模型

什么是 ER 图?

ER 图代表实体关系图,也称为 ERD,是一种显示数据库中存储的实体集关系的图。换句话说,ER 图有助于解释数据库的逻辑结构。ER 图基于三个基本概念构建:实体、属性和关系。

ER 图包含不同的符号,使用矩形表示实体,椭圆形表示属性,菱形表示关系。

乍一看,ER 图与流程图非常相似。然而,ER 图包含许多专用符号,其含义使此模型独一无二。ER 图的目的是表示实体框架基础设施。

ER Diagram Examples
实体关系图示例

什么是 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 Diagram Symbols & Notations
ER 图符号

ER 图的组成部分

此模型基于三个基本概念

  • 实体
  • 属性
  • 关系

ER 图示例

例如,在大学数据库中,我们可能有学生、课程和讲师实体。学生实体可以拥有如学号、姓名和部门 ID 等属性。它们可能与课程和讲师有关系。

Components of the ER Diagram

ER 图的组成部分

什么是实体?

一个现实世界中的事物,无论是有生命的还是无生命的,都可以轻松识别和难以识别。它是企业中需要反映在数据库中的任何事物。它可以是物理事物,也可以是关于企业的事实,或者是现实世界中发生的事件。

实体是存储在数据库中的地方、人、对象、事件或概念。实体的特征必须具有属性和唯一键。每个实体都由一些“属性”组成,这些属性代表该实体。

实体的例子

examples of entities in dbms

  • 人:员工、学生、病人
  • 地点:商店、建筑
  • 对象:机器、产品和汽车
  • 事件:销售、注册、续订
  • 概念:账户、课程

实体的表示法

实体集

学生

实体集是相似实体的集合。它可能包含具有相似值属性的实体。实体由其属性表示,也称为属性。所有属性都有其独立的值。例如,一个学生实体可能有姓名、年龄、班级等属性。

Entity

实体示例

一所大学可能有几个系。所有这些系都聘请了各种讲师,并提供多个课程。

一些课程构成每个课程。学生注册一个特定的课程,并参加各种课程。来自特定系的讲师教授每门课程,每位讲师教授不同组的学生。

关系

关系就是两个或多个实体之间的关联。例如,汤姆在化学系工作。

Relationship

实体参与关系。我们通常可以用动词或动词短语来识别关系。

例如

  • 你正在听这场讲座
  • 我正在讲授这门课
  • 就像实体一样,我们可以根据关系类型对关系进行分类
  • 学生参加讲座
  • 讲师正在讲授讲座。

弱实体

弱实体是一种没有主键属性的实体。通过考虑另一个实体的关键字,可以唯一地识别它。为此,弱实体集需要参与。

Weak Entities

在上述 ER 图示例中,“交易编号”是 ATM 交易组内的区分符。

让我们通过与强实体的比较来进一步了解弱实体

强实体集 弱实体集
强实体集始终具有主键。 它没有足够的属性来构建主键。
它由矩形符号表示。 它由双矩形符号表示。
它包含由下划线符号表示的主键。 它包含由虚线下划线符号表示的部分键。
强实体集成员称为主导实体集。 弱实体集成员称为附属实体集。
主键是其帮助识别成员的属性之一。 在弱实体集中,它是强实体集的主键和部分键的组合。
在 ER 图中,两个强实体集之间的关系用菱形符号表示。 一个强实体集和一个弱实体集之间的关系用双菱形符号表示。
强实体集与关系的连接线是单线。 连接弱实体集以识别关系的线是双线。

属性

它是实体类型或关系类型的单值属性。

例如,一场讲座可能具有属性:时间、日期、持续时间、地点等。

ER 图示例中的属性由椭圆形表示

Attributes

属性类型 描述
简单属性 简单属性无法进一步细分。例如,学生的联系电话。它也称为原子值。
复合属性 可以分解复合属性。例如,学生的姓名可以进一步分为名字、中间名和姓。
派生属性 此类属性不包含在物理数据库中。但是,它们的值是从数据库中存在的其他属性派生出来的。例如,年龄不应直接存储。相反,它应该从该员工的 DOB 中派生出来。
多值属性 多值属性可以有多个值。例如,一个学生可以有多个手机号码、电子邮件地址等。

基数

定义两个实体或实体集之间关系的数值属性。

不同的基数关系类型有

  • 一对一关系
  • 一对多关系
  • 多对一关系
  • 多对多关系

Cardinality

1.一对一

实体集 X 中的一个实体最多可以与实体集 Y 中的一个实体相关联,反之亦然。

示例:一名学生可以注册多门课程。但是,所有这些课程都有一条线指向该学生。

One-to-one Cardinality

2.一对多

实体集 X 中的一个实体可以与实体集 Y 中的多个实体相关联,但实体集 Y 中的一个实体至少可以与一个实体相关联。

例如,一个班级由多个学生组成。

One-to-many Cardinality

3.多对一

实体集 X 中的多个实体最多可以与实体集 Y 中的一个实体相关联。但是,实体集 Y 中的一个实体可能与实体集 X 中的多个实体相关联,也可能不相关联。

例如,许多学生属于同一个班级。

Many to One Cardinality

4.多对多

X 中的一个实体可以与 Y 中的多个实体相关联,反之亦然。

例如,学生作为一个群体与多位教职员工相关联,而教职员工也可以与多位学生相关联。

Many to Many Cardinality

如何创建实体关系图 (ERD)

现在,在本 ERD 图教程中,我们将学习如何创建 ER 图。以下是创建 ER 图的步骤

Create an Entity Relationship Diagram
创建 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 步)实体识别

我们有三个实体

  • 学生
  • 课程
  • 教授

Entity Identification

第 2 步)关系识别

我们有以下两种关系

  • 学生被分配课程
  • 教授讲授课程

Relationship Identification

第 3 步)基数识别

根据问题陈述,我们知道:

  • 一名学生可以被分配多门课程
  • 一名教授只能讲授一门课程

Cardinality Identification

第 4 步)识别属性

您需要研究组织当前维护的文件、表单、报告、数据以识别属性。您还可以与各种利益相关者进行访谈以识别实体。最初,在将属性映射到特定实体之前识别属性很重要。

一旦有了属性列表,就需要将其映射到已识别的实体。确保一个属性只与一个实体配对。如果您认为一个属性应属于多个实体,请使用修饰符使其唯一。

映射完成后,识别主键。如果找不到现成的主键,请创建一个。

实体 主键 属性
学生 学生 ID 学生姓名
教授 员工 ID 教授姓名
课程 课程 ID 课程名称

Steps to Create an Entity Relationship Diagram

对于课程实体,属性可以是持续时间、学分、作业等。为方便起见,我们只考虑了一个属性。

第 5 步)创建 ERD 图

实体关系图示例的更现代表示

Create the ERD Diagram

开发有效 ER 图的最佳实践

以下是一些开发有效 ER 图的最佳实践或示例。

  • 消除任何冗余的实体或关系
  • 您需要确保所有实体和关系都已正确标记
  • ER 图可能有多种有效的方法。您需要确保 ER 图支持您需要存储的所有数据
  • 您应该确保每个实体在 ER 图中只出现一次
  • 为图表中显示的所有关系、实体和属性命名
  • 切勿将关系相互连接
  • 您应该使用颜色来突出 ER 图的重要部分

摘要

  • DBMS 中的 ER 模型代表实体-关系模型
  • ER 模型是高级数据模型图
  • ER 图是用于表示 ER 模型的可视化工具
  • DBMS 中的 ER 图是数据库的蓝图
  • 实体关系图 DBMS 显示存储在数据库中的实体集的关系
  • ER 图帮助您定义与实体关系建模相关的术语
  • DBMS 中的 ER 模型基于三个基本概念:实体、属性和关系
  • 实体是存储在数据库 (DBMS) 中的地方、人、对象、事件或概念
  • 关系就是两个或多个实体之间的关联
  • 弱实体是一种没有主键属性的实体
  • 它是实体类型或关系类型的单值属性。
  • 它帮助您定义两个实体或实体集之间关系的数值属性
  • DBMS 中的 ER 图是数据的可视化表示,描述了数据如何相互关联
  • 在 DBMS 中绘制 ER 图时,您需要确保所有实体和关系都已正确标记。