ER模型实际实例
ER图转换为关系模式实例

二、概念结构设计1、系统概念模型图1选课系统概念模型E-R 图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。
) 2、详细说明(1)系统涉及的实体集● 班级实体集:具有属性班级名称和选课学分限制。
● 学生实体集:具有属性学号、姓名、性别和生日。
● 课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。
● 上课时间实体集:具有属性时间。
(2)系统涉及的联系● 一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:M 的联系。
● 一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M :N 的联系。
● 一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M :N 的联系。
班级学分限制班级名学生学号 姓名性别生日属于必修课程选修上课时间上课时间授课教师接纳人数课号课名学分1mmnmmnn一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:N的联系。
三、逻辑结构设计将E-R模型转换为关系模式(1)班级实体集可以转换为关系CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集可以转换为关系STUDENT(STUDENTID , NAME , SEX , BIRTHDAY)STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日(3)课程实体可以转换为关系COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。
ER图

Page 7
六、一个实例
用E-R图表示某个工厂物资管理的概 念模型
实体
仓库: 仓库号、面积、电话号码 零件 :零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、 帐号 项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称
Page 8
一个实例
实体之间的联系如下: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件
Page 5
联系的表示方法示例
班级 1
班级-班长
1 班长
1:1联系
班级 1
组成 n
学生 1:n联系
课程 m
选修
n 学生
m:n联系
Page 6
联系的属性
❖联系的属性:
联系本身也是一种实体型,也 可以 有属性。如果一个联系具有属性,则 这些属性也要用无向边与该联系连 接起来
课程 m 选修
n 学生
成绩
Page 9
一个实例
Page 10
Байду номын сангаас
2020/6/29
感谢您的关注!
Thank you!
具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和
职工之间是一对多的联系。职工实体型中具有一对多的联系 (3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。 (4)供应商、项目和零件三者之间具有多对多的联系
E-R图(续)
联系
联系本身:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关 实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n 或m:n)
ER模型——精选推荐

ER模型在E-R模型中,主要有实体、属性、联系三个部分组成。
建立E-R图的过程如下:(1) 首先确定实体类型。
(2) 确定联系类型(1:1,1:N,M:N)。
(3) 把实体类型和联系类型组成E-R图。
(4) 确定实体类型和联系类型的属性。
(5) 确定实体类型的键,在属于键的属性名下划一条横线。
E-R图示例一. ER模型E-R模型就是实体关系模型(Entity Relationship Model)。
关系物理形态就是数据库中的基本表。
我们根据业务需求绘出相应的E-R模型图,然后将E-R模型转为关系。
这样就完成了数据库的设计。
E-R模型转为关系的步骤是1.实体的转换每个实体都需要用一个关系来表示,并将实体的属性表达为关系的属性。
2.联系的转换此联系就是“实体关系”中的“关系”,只是为了区分物理形态为基本表的关系。
E-R模型共用三种联系:1.一对一用1:1表示2.一对多用1:N表示3.多对多用M:N表示2.1 一对一联系1.若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码例子:A场的职工配偶是本场的职工,同时只有部分职工有配偶,则关系可以设计如下:职工(职工号,职工名)配偶(丈夫职工号,妻子职工号)2.若一方全部参与,则将联系另一方的码作为全部参与一方的属性每个部门都有一个职工作为它的管理者,反过来只有部分职工是部门的管理者.则则关系可以设计如下:职工(职工号,职工名)部门(部门号,部门名,管理者职工号)2.2 一对多联系将单方参与实体的码作为多方参与实体的属性1.一个班级有多个学生,只有一个班主任.则关系可以设计如下:教师(教工号,教工名)学生(学生号,学生名,班主任教工号)2.多个职工有一个领导,领导也是职工则关系可以设计如下:职工(职工号,职工名,领导职工号)2.3 多对多联系将联系定为新的关系,属性为参与双方的码学生可以选修多门课程,一门课程可以有多个学生则关系可以设计如下:学生(学生号,学生名)课程(课程号,课程名)选修(学生号,课程号)二. 根据ER模型画出对应的ER图E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
ER概念模型

年龄
性别
“商店”与“顾客”的ER 图
19
7. ER图转化为关系模式
✓二元联系的转换规则:
① 若实体间联系是1:1,可以在两个实体类型转换 成的两个关系模式中任意一个关系模式的属性中加 入另一个关系模式的主关键字和联系的属性。
② 若实体间联系是1:N,则在N端实体类型转换成 的关系模式中加入1端实体类型的主关键字和联系 的属性。
在数据库中用数据模型来抽象、表示和处理现实世界 中的数据和信息。
要将现实世界转变为机器能够识别的形式,必须经过 两次抽象。
✓ 数据模型的类型
概念数据模型 ER图就属于概念模型 逻辑数据模型 关系模型属于逻辑数据模型 物理数据模型 逻辑模型在最终在机器内的存储有关
3
2.概念数据模型
✓ 概念数据模型的含义
ER模型是在客观事物或系统的基础上形成的,在某 种程度上反映了客观现实,反映了用户的需求,因此 ER模型具有客观性。
但ER模型又不等同于客观事物的本身,它往往反映 事物的某一方面,至于选取哪个方面或哪些属性,如 何表达则决定于观察者本身的目的与状态,从这个意 义上说,ER模型又具有主观性。
23
综合成全局ER图。合并步骤:
❖ 合并局部ER图,消除冲突(属性、命名冲突等) ,生成初步ER图。
10
6. ER图的设计实例1
教学活动思考:某学校计算机系的教学管 理ER图的建立实例,并回答以下问题:
1. 有哪些实体? 2. 实体间有哪些联系?各联系是什么类型? 3. 若实体的属性太多,可如何简化ER图?
类型:
❖ 一对一联系(简记成1:1) 例如:观众和座位 ❖ 一对多联系(简记成1:n) 例如:工厂和职工 ❖ 多对多联系(简记成m:n) 例如:学生和课程
数据库E-R图讲解

两个实体型间联系可以分为三类:
一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
7
两个实体型间的联系
实体型1 1 联系名
实体型1 1 联系名
1 实体型2
n 实体型2
1:1联系
1:n联系
实体型1 m 联系名
项目
n
m
需要
仓库 1
保存 n 零件
n
m
供应
供应商
26
E-R图实例:某工厂物资管理E-R图
• Step4 确定实体类型和联系类型的属性。
• Step5 确定实体类型的关键码,在ER图中
属于码的属性名下画一条横线。
仓库编号 仓库名
项目名称
项目编号 立项日前
项目
n 需要
零件名
m
仓库 1
保存 n 零件
所在地 面积
成绩 92 85 88 90 80 ……
课程 m 选修
n 学生
m:n联系
成绩
44
同样两个实体,如果赋予不同的语义则 有不同的设计结果。也就是说我们在概念模 型中讨论实体之间的联系类型直接影响着目 标数据库的设计结果和设计质量。
45
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
系
9
两个实体型间的联系 (续)
• 一对多联系
– 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0
)与之联系,反之,对于实体集B中的每一个实体,实体集A中至
ER概念模型

❖ 合并局部ER图,消除冲突(属性、命名冲突等) ,生成初步ER图。
10
6. ER图的设计实例1
教学活动思考:某学校计算机系的教学管 理ER图的建立实例,并回答以下问题:
1. 有哪些实体? 2. 实体间有哪些联系?各联系是什么类型? 3. 若实体的属性太多,可如何简化ER图?
选修 分数
n 课程
m
n 教师
授课
时间 地点
14
6. ER图的设计实例2
实例:设有商店和顾客两个实体。
“商店”有属性:商店编号、商店名、地址、 电话
“顾客”有属性:顾客编号、姓名、地址、年 龄、性别。
假设一个商店有多个顾客购物,一个顾客可 以到多个商店购物,顾客每一次去商店购物 有一个消费金额和日期。 ✓试画ER图,并注明属性和联系类型。
ER模型是在客观事物或系统的基础上形成的,在某 种程度上反映了客观现实,反映了用户的需求,因此 ER模型具有客观性。
但ER模型又不等同于客观事物的本身,它往往反映 事物的某一方面,至于选取哪个方面或哪些属性,如 何表达则决定于观察者本身的目的与状态,从这个意 义上说,ER模型又具有主观性。
23
3
2.概念数据模型
✓ 概念数据模型的含义
用于信息世界(现实世界在人脑中的反映)的建模, 是现实世界到信息世界的第一次抽象,是数据库设计 人员进行数据库设计的有力工具,也是设计人员和用 户之间交流的语言。
✓ 概念数据模型的表示方法
实体联系图(ER图):用于描述信息世界的概念数据模型 。它通过画图将实体以及实体间的联系刻画出来,为 客观事物建立概念数据模型。
2
1.数据模型
✓ 数据模型的含义
ER模型详解

Entity Relationship Model - ER模型- 实体关系模型1976年Peter Chen首次提出了Entity Relationship Modeling(实体关系建模)概念,并发明了陈氏表示法Peter Chen's Notation,因此ER模型也可以叫做Chen's Model(陈氏模型)。
下面是一个ER模型(ERD - ER diagram - Entity Relationship diagram)示例:图:ER模型- Peter Chen's Notation图:ER模型- Peter Chen's Model,实际上这是一个EER - Enhanced Entity-Relationship Model,扩展ER模型Entity 实体:使用方框表示Attribute 属性:使用圆或椭圆表示。
实体和实体关系都可以拥有属性,例如图中的Order-Line 关系拥有3个属性Relationship 关联关系:使用菱形表示,菱形中写上关联关系的名字ER模型中关联关系也可以拥有属性,在多对多关联关系中不需要使用额外中间关联实体来表示,关联关系本身就可以作为这个中间实体。
另外ER模型的关联关系不限于2个实体之间,可以在多个实体间使用一个关联关系Unique Identifier 唯一标识陈氏表示法没有很好的解决唯一标识问题,仅使用一种简单的标记方法,下图表示Party的ID 作为Purchase Order唯一标识一员的情况,关联关系名称改为E,朝依赖实体方使用一个箭头,依赖实体使用一个额外的方框括起来图:ER模型中唯一标识的表示方法图:ER模型中唯一标识的表示方法Sub-type 子类型最初的陈氏表示法中不包含子类型概念,后来Robert Brown和Mat Flavin添加了子类型表示法,这种ER模型称为扩展ER模型。
上图ER模型中有一个子类型例子,超类Party派生出子类Organization和PersonConstraints between relationships 关联关系的约束最初的陈氏表示法中关联关系的每一端只使用一个数字表示,比如一对多的关联关系,在一端使用1,另一端实体上使用n表示,这对关联关系约束不充分。
ER图(实例与练习)0620

原则1:ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
例如,图中独立实体“部门”、“职员”分别变为部门关系、职员关系。
部门关系原则2:ER图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主实体关系的主码构成这个关系的属性。
如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。
例如:原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。
其中“1”实体主码为外来码。
例如,在员工关系中增加“所属部门号”这个外来码反映1:M联系所属职员关系。
员工关系在部门关系中增加“主管工号”这个外来码反映1:1联系主管与部门关系。
原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
分录关系有工程和职工两个实体,工程实体有工程号、工程名、预算等属性;职工实体有职工号、姓名、性别、职务、小时工资率等属性。
假设一名职工参加多个工程项目,且一个工程项目有多名职工参加;按照职工的小时工资率以及在每一项工程中完成的工时发酬金;职工的职务决定小时工资率。
(1)根据语义设计E-R模型,要求标出实体的属性和联系方式;(2)将E-R模型转换成一组关系模式,并指出主码和外码;(3)判断每个关系模式属于第几范式。
(1) E-R图如下:(2)工程(工程号,工程名,预算)(1分)职工(职工号,姓名,性别,职务,小时工资率)(2分)酬金(职工号,工程号,工时)(2分)(3)工程和酬金是3NF (3分)职工是2NF (2分)设某商业集团数据库中有三个实体集。
一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据服务种 类分析教师 子模块
……
局部ER图
其他局部模式
现有的教学 管理系统
初步分析系 统的对象
根据服务种 类分析学生 子模块
……
局部ER图 系
1
有
N
班级
1
1
管 理 指 导 住 宿
1
1
班主任 导师
组 成 档案材料
N
N N
N
归 档 具 有
1
学生
1 M
1
宿舍
N
属性取值单位冲突
结构冲突
同一对象在不同应用中的抽象不同
如职工在某应用中是实体,在另一应用中则抽象为属性
同一实体在不同E-R图中属性组成不同 实体之间的联系在不同E-R图中呈现不同的类型 同名异义:不同意义的对象具有相同的名字 异名同义:同一意义的对象具有不同的名字
命名冲突
E-R模型向关系模式的转换
选课(学号,所选课程号)
学生
E-R模型向关系模式的转换
一对一联系:
若联系双方均部分参与,则将联系定义为一个新的关系, 属性为参与双方的码。
妻子
职工
丈夫
配偶
配偶(丈夫职工号,妻子职工号)
若联系一方全部参与,则将联系另一方的码作为全部 参与一方的属性。
职工
管理
部门
部门(部门号,部门名,管 理职工号)
本章总结
主要内容
基本概念 映射基数
一对一,一对多,多对多
弱实体集 扩展ER特性
特殊化,一般化
ER模型设计要点 概念数据库设计过程 E-R模型向关系模式的转换
基本概念,E-R模型的各组成成分,数据库的概念设计,E-R模型向 关系模式的转换
学生应掌握的内容
ቤተ መጻሕፍቲ ባይዱ
类图
类图和E-R图类似,但有所不同
说明用户和系统之间的交互,特别是用户进行的每一步操作 说明系统不同部分之间的任务流 在软件构件层和硬件构件层说明系统的各部分以及它们的联系
用况图
活动图
实现图
UML类图中使用的图形符号
UML 类图中使用的图形符号
overlapping
disjoint
检查并消除冲突
还有冲突吗
有
还有未合 并的局部 模式 无
有
图5.20全局ER模式设计
采用ER方法的数据库概念设计 之全局ER模式的优化
实体类型的合并
1:1联系的两个实体类型 具有相同键的实体类型
冗余属性的消除 冗余联系的消除: 利用规范化理论中函数依赖的概
念消除冗余联系
例子:三个局部ER图合并成一个ER图
E-R模型向关系模式的转换
一对多联系:
将单方参与一方实体的码作为多方参与实体的属性。
教师
班主任
学生
学生(学生号,学生名, 系号,班主任教工号)
属下
职工
领导
领导
职工(职工号,职工名,部 门号,领导职工号)
E-R模型向关系模式的转换
多对多联系:
将联系定义为新的关系,属性为参与双方的码。
学生
选修
课程
局 部 E | R 模 式 设 计
概念数据库设计过程
局部E-R模式
确定公共实体类型 合并两个局部E-R模式 检查并消除冲突 还有未合并的 局部模式?
无
全局E-R模式优化
全 局 E | R 有模 式 设 计
概念数据库设计过程——消除冲突
属性冲突
属性域的冲突:属性的类型、取值范围不同
如不同学校的学号编码方式不同 如重量分别采用磅、千克
E-R模型向关系模式的转换
E-R模型向关系模式的转换
概括:
高层实体集和低层实体集分别转为表 低层实体集所对应的关系包括高层实体集的码
姓名
学生
ISA
学号
Dissertation Papers
本科生 军训 硕士
研究生
ISA
博士
学生(姓名,学号) 本科生(姓名,学号,军训) 研究生(姓名,学号,论文)
概念数据库设计过程
E-R方案选择
对现实世界概念要作出准确而有效的表达 用实体集还是属性 用实体集还是联系集 用二元联系还是多元联系 用强实体集还是弱实体集 是否要用概括 是否要用聚集
概念数据库设计过程
需求分析结果
确定局部结构范围
实体定义
联系定义
属性分配 全局E-R模式设计
实体 关系 属性 关系的属性
姓名 学号 学生 系别
S(SNO,SNAME,DEPT)
E-R模型向关系模式的转换
复合属性 将每个组合属性作为复合属性所在 实体的属性
学生
学号 出生日期
姓名
学生(学号,姓名,年,月,日)
年 月 日 多值属性 新的关系+所在实体的码 姓名 学号 所选课程
P
N
P
联系
M
订 单
产 品
P 销 售 员
库存系统ER图
例2:公司车队信息系统的ER模型
部门 M 调用 N 车队 1 聘用 N 司机
N
拥有
N
保险1
1
开销
N
报销
1
车辆
N
N
保险2
1
保险公司
维修
1
维修公司
公司车队信息系统的ER模型
UML
UML: 统一建模语言 UML 是为了创建软件系统不同部分的规范而提出的 标准
确定公共实体类型
属性冲突 :如,重量单位 有的用公斤,有的用克。
合并两个局部ER模式
结构冲突 :同一对象在不 同应用中的不同抽象 ;同 一实体在不同局部ER图中 属性的个数或次序不同 ; 实体之间的联系在不同的 局部ER图中呈现不同的类 型
命名冲突 :属性名、实体 名、联系名之间存在同名 异义或异名同义冲突
选修(学生号,课程号)
母零件
零件
构成
子零件
构成(母零件号,子零件号)
E-R模型向关系模式的转换
弱实体集:所对应的关系的码由弱实体集本身的 分辩符再加上所依赖的强实体集的码 价格 公司名 地址 联系电话
产品名
产品
制造
公司
产品(产品名,价格,公司名)
弱实体集与强实体集之间的联系已经在弱实体集所对应的关系中表示出来了
教师 院长
1
主管
1
学院
1
1
管理 设置
N 1
项目
1 M
N
承接
1
1
系
1
有
N
班级
1
学会
1
参加
N 1 N N
管理
聘用 讲授
P M
开设
N M
选修
N
组成
N N N
参加
1
教师
N
课程
1
学生
1 1
住宿
宿舍
教科书
评定
1
上课
1
教室
1 指导 N
归档
N
具有
N
职称
1
档案材料
社会关系
分配
1
工作量
合并后的教学管理E-R图
例1
库存销售信息管理系统的 ER模型及转换
参 加
N
社会关系
学会
学籍管理局部应用的分E-R图
其它局部模式
现有的教学 管理系统
初步分析系 统的对象 根据服务种 类分析课程 子模块
……
局部ER图
1
N
N
MN
系
开设
课程
M
选修
学生
1
上课
1
讲授
课程管理局部应用分E-R图
P
N
教室
教科书 教师
采用ER方法的数据库概念设计 之设计全局 ER模式
局部ER模式
E-R模型设计实例
某大学教学管理系统的 概念模型设计(E-R模型)
采用ER方法的数据库概念设计
之设计局部ER模式
需求分析结果
范围的划分要自然, 易于管理; 采用人们习惯的划分; 确定属性的原则: 避免冗余,在一个局部结 范围之间的界面要清晰, 属性应该是不可再分解的语义 构中,对一个对象只取一 相互影响要小 单位;实体与属性之间的关系只能 种抽象形式,不要重复; 是1:N的;不同实体类型的属性之间 范围的大小要适度。太小 应无直接关联关系。 依据用户的信息处理需求 了,会造成局部结构过多, 设计过程繁琐,综合困难; 太大了,则容易造成内部 属性分配的原则:
确定局部结构范围
实体定义
联系定义
属性分配
结构复杂,不便分析 当多个实体类型用到同一属性时, 一般把属性分配给那些使用频率最高 的实体类型,或分配给实体值少的实 体类型。
有些属性不宜归属于任一实体类 型,只说明实体之间联系的特性
有 还有局部 结构待分 析 无 进入全局ER模式设计
局部ER模式设计
局部模式
仓 位 M M
N
实体
车间(车间号,车间名,主任名) 产品(产品号,产品名,单价) 仓位(仓位号,地址,主任名) 客户(客户号,客户名,联系人,电话, 地址,税号,账号)
销售员(销售员号,姓名,性别,学历,业绩)