发布于:2021-01-27 12:00:19
0
458
0
什么是ER建模?
实体关系模型(ER建模)是数据库设计的一种图形化方法。它是一种高级数据模型,用于定义特定软件系统的数据元素及其关系。ER模型用于表示真实世界的对象。
实体是现实世界中与周围环境不同的事物或物体。例如,公司的每个员工都是一个独立的实体。以下是实体的一些主要特征。
一个实体有一组属性。
实体属性可以有值。
让我们再考虑一下我们的第一个例子。公司的雇员是一个实体。如果张三是微软的程序员(一名员工),他可以拥有属性(属性),比如姓名、年龄、体重、身高等。很明显,这些属性确实包含与他相关的值。
每个属性都可以有值。在大多数情况下,单个属性只有一个值。但是属性也有可能具有多个值。例如,彼得的年龄只有一个值。但他的“电话号码”属性可以有多个值。
实体之间可以有关系。让我们考虑一下最简单的例子。假设每个微软程序员都有一台电脑。很明显,彼得的电脑也是一个实体。彼得在用那台电脑,彼得也在用同一台电脑。换句话说,彼得和他的电脑之间有一种相互的关系。
在实体关系建模中,我们对实体及其属性和实体之间的关系进行建模。
增强实体关系模型
增强实体关系(EER)模型是一种高级数据模型,它扩展了原有的实体关系(ER)模型。EER模型支持更多的细节设计。EER建模是一种为高度复杂的数据库建模的解决方案。
EER使用UML表示法。UML是统一建模语言(Unified Modeling Language)的缩写,是设计面向对象系统时使用的通用建模语言。实体表示为类图。关系表示为实体之间的关联。下面所示的图表说明了使用UML表示法的ER图。
为什么使用ER模型?
现在您可能会想,既然我们可以简单地创建数据库及其所有对象而不需要ER建模,为什么还要使用ER建模?设计数据库时面临的一个挑战是,设计者、开发人员和最终用户往往以不同的方式查看数据及其使用。如果不检查这种情况,我们最终会生成一个不满足用户需求的数据库系统。
所有涉众(技术用户和非技术用户)都能理解的通信工具对于生成满足用户需求的数据库系统至关重要。ER模型就是这种工具的例子。
ER图还提高了用户的生产效率,因为它们可以很容易地转换为关系表。
案例研究:“MyFlix”视频库的ER图。
现在让我们使用MyFlix视频库数据库系统来帮助理解ER图的概念。在本教程的其余部分中,我们将使用此数据库进行所有的实际操作。
MyFlix是一个向会员出租电影的商业实体。MyFlix一直在手动存储其记录。管理层现在想转向DBMS。
让我们看看为这个数据库开发EER图的步骤:
识别实体并确定它们之间存在的关系。
每个实体、属性和关系都应具有非技术人员也容易理解的适当名称。
关系不应直接相互连接。关系应该连接实体。
给定实体中的每个属性都应该有一个唯一的名称。
“MyFlix”库中的实体
ER图中包含的实体包括:
会员-此实体将保存会员信息。
电影-此实体将保存有关电影的信息
类别-此实体将保存将电影分为不同类别的信息,如“戏剧”、“动作”和“史诗”等。
电影租赁-此实体将保存有关出租给会员的电影的信息。
付款-此实体将保存有关会员付款的信息。
定义实体之间的关系
会员和电影
关于这两个实体之间的相互作用,以下是正确的。
一个会员可以在一段时间内租用多部电影。
一部电影可以在一段时间内由多个会员租用。
从上面的场景中,我们可以看到这种关系的本质是多对多的。关系数据库不支持多对多关系。我们需要引入一个连接实体。这就是动画片实体所扮演的角色。它与members表有一对多关系,与movies表有一对多关系。
电影和分类实体
关于电影和电影类别,以下是正确的。
一部电影只能属于一个类别,但一个类别可以有多部电影。
由此可以推断,类别与电影表之间的关系本质上是一对多的关系。
会员和支付实体
关于会员和付款,以下是正确的。
一个会员只能有一个账户,但可以进行多次付款。
由此我们可以推断,会员与支付实体之间的关系本质上是一对多的关系。
现在让我们使用MySQL工作台创建EER模型。
在MySQL工作台中,单击-“+”按钮。
双击adddiagram按钮打开ER图的工作区。
出现以下窗口。
让我们看看我们将要处理的两个对象。
表对象允许我们创建实体并定义与特定实体关联的属性。
放置关系按钮允许我们定义实体之间的关系。
会员“实体将具有以下属性
会员编号
全名
性别
出生日期
实际地址
邮政地址
现在创建members表
1.从“工具”面板中拖动表对象
2.把它放到工作区。出现一个名为表1的实体
3.双击它。将显示下面显示的属性窗口
接下来
将表1更改为会员
编辑默认的idtable1到会员编号
单击下一行添加下一个字段
对会员实体中标识的所有属性执行相同操作。
您的属性窗口现在应该如下所示。
对所有标识的实体重复上述步骤。
现在,您的图表工作区应该如下所示。
让我们在会员和电影租赁之间建立关系
也使用现有列选择位置关系
单击会员表中的会员编号
单击moviententals表中的参考编号
对其他关系重复上述步骤。你的ER图应该是这样的:
摘要
ER的完整形式是实体和关系图。它们在数据库设计过程中起着非常重要的作用。它们是技术人员和非技术人员的非技术交流工具。
实体代表现实世界的事物;它们可以是概念性的销售订单,也可以是实体性的,如客户。
所有实体都必须具有唯一的名称。
ER模型还允许数据库设计者识别和定义实体之间存在的关系。
整个ER模型附在下面。您只需将其导入MySQL工作台即可。
作者介绍