什么是 ER 建模?通过示例学习
什么是 ER 建模?
实体关系模型 (ER 建模)是一种图形化的数据库设计方法。它是一种高级数据模型,用于定义特定软件系统的数据元素及其关系。ER 模型用于表示现实世界的对象。
实体是指现实世界中能够与周围环境区分开来的事物或对象。例如,组织中的每个员工都是一个独立的实体。以下是实体的一些主要特征。
- 一个实体有一组属性。
- 实体属性可以具有值。
让我们再来看第一个例子。一个组织的员工是一个实体。如果“Peter”是一名程序员(一名员工),那么…… Microsoft他可以拥有姓名、年龄、体重、身高等属性。显然,这些属性都具有与他相关的价值。
每个属性都可以有值。大多数情况下,一个属性只有一个值。但属性也可以有多个值。例如,Peter 的年龄只有一个值,但他的“电话号码”属性可以有多个值。
实体之间可以存在关系。我们来看一个最简单的例子。假设每个实体都…… Microsoft 程序员彼得被分配了一台电脑。显然,彼得的电脑也是一个实体。彼得在使用这台电脑,而这台电脑也被彼得使用。换句话说,彼得和他的电脑之间存在着一种相互关系。
在实体关系建模中,我们对实体、它们的属性以及实体之间的关系进行建模。
为什么要使用 ER 模型?
现在你可能会想,既然我们可以简单地 创建数据库 以及其所有对象,而无需 ER 建模?设计数据库时面临的挑战之一是设计人员、开发人员和最终用户往往以不同的方式看待数据及其使用方式。如果不加以控制,我们最终可能会生成一个无法满足用户要求的数据库系统。
所有利益相关者(包括技术用户和非技术用户)都能理解的沟通工具对于构建满足用户需求的数据库系统至关重要。实体关系模型(ER模型)就是这类工具的典型例子。
ER 图还可以提高用户的工作效率,因为它们可以轻松转换为关系表。
增强型实体关系 (EER) 模型
增强型实体关系(EER)模型是一种高级数据模型,它扩展了原始实体关系(ER)模型的功能。EER模型支持更详细的设计。EER建模的出现是为了解决高度复杂数据库的建模问题。
EER 使用 UML 表示法。UML 是图形用户界面 (EER) 的缩写。 统一建模语言;它是一种通用建模语言,用于设计面向对象系统。实体表示为类图。关系表示为实体之间的关联。下图显示了使用 ER 图的 UML 符号.
案例研究:“MyFlix”视频库的ER图
现在我们来使用 MyFlix 视频库数据库系统来帮助理解 ER 图的概念。本教程中的所有实践操作都将使用此数据库。
MyFlix 是一家向会员出租电影的商业实体。MyFlix 一直手动存储记录。管理层现在希望转向 DBMS.
让我们来看看为该数据库绘制 EER 图的步骤:
- 识别实体并确定它们之间存在的关系。
- 每个实体、属性和关系都应该有合适的名称,以便非技术人员也能轻松理解。
- 关系不应直接相互连接。关系应该连接实体。
- 给定实体中的每个属性都应该有一个唯一的名称。
“MyFlix”库中的实体
纳入我们 ER 图 是:
- 成员 – 该实体将保存成员信息。
- 电影 – 此实体将保存有关电影的信息。
- 类别 – 此实体将保存将电影放入不同类别(例如“剧情”、“动作”和“史诗”等)的信息。
- 电影租赁——该实体将保存有关租借给会员的电影的信息。
- 付款 – 该实体将保存有关会员付款的信息。
定义实体之间的关系
会员和电影
关于两个实体之间的交互,以下内容成立。
- 会员可以在规定时间内租借多部电影。
- 在特定时期内,一部电影可以由多名会员租用。
从上述场景可以看出,这种关系是多对多的。关系型数据库本身并不支持多对多关系。我们需要引入一个连接实体,MovieRentals 实体就扮演着这样的角色。它与 Members 表和 Movies 表都存在一对多关系。
电影和类别实体
以下内容适用于电影和类别。
- 一部电影只能属于一个类别,但一个类别可以包含多部电影。
由此我们可以推断,类别表和电影表之间的关系是一对多的。
会员和支付实体
以下关于会员和付款的规定适用。
- 一名会员只能拥有一个账户,但可以进行多次付款。
由此我们可以推断,成员与支付实体之间的关系是一对多的。
使用以下方法创建 EER 模型 MySQL 工作台
In MySQL 工作台点击“+”按钮。
Double 点击“添加图表”按钮,打开 ER 图工作区。
出现以下窗口。
让我们看看我们将使用的两个对象。
- 表格对象
允许我们创建实体并定义与特定实体关联的属性。
- 地点关系
该按钮允许我们定义实体之间的关系。
成员实体将具有以下属性
- 会员号码
- 全名
- 性别
- 出生日期
- 实际地址
- 邮寄地址
现在我们来创建成员表
1. 从工具面板中拖动表格对象。
2. 将其拖放到工作区。此时会显示一个名为“表 1”的实体。
3. Double 点击它。将出现如下所示的属性窗口。
接下来,
- 将表 1 改为成员表。
- 将默认的 idtable1 修改为 membership_number。
- 点击下一行添加下一个字段。
- 对 Members 实体中标识的所有属性执行相同的操作。
您的属性窗口现在应该如下所示。
对所有已识别的实体重复上述步骤。
您的图表工作区现在应如下所示。
让我们建立会员与电影租赁之间的联系
- 使用现有列工具选择地点关系。
- 点击“会员”表中的“会员编号”。
- 点击 MovieRentals 表格中的 reference_number。
对其他关系重复上述步骤。你的ER图现在应该看起来像这样——










