数据库E-R图讲解

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 教师和课程可用以下属性来描述: 教师——教师号,教师名,职称 课程——课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。
21
解:描述教师和课程之间的E-R图可如下图所示。
教师号 课程号
教师名
教师 m
讲授 n
课程
课程名
职称
质量
班级
22
2.3一个简单的综合示例
• E-R图实例:某工厂物资管理E-R图
• 如果规定一个仓库可以存放多种器件,但是一种 器件只能存放在一个仓库,这时仓库和器件之间 的联系是一对多的;
• 如果规定一个仓库可以存放多种器件,同时一种 器件可以存放在多个仓库,这时仓库和器件之间 的联系是多对多的。
37
为什么要讨论实体之间的联系?
仓库号 WH1 WH2 WH3 WH4
城市 北京 上海 广州 重庆
– 用E-R图来描述现实世界的概念模型 – E-R方法也称为E-R模型
15
2.2E-R图
• 1.E-R图的组成要素
符号
含义
实体,一般是名词 属性,一般是名词 关系,一般是动词
16
2.2E-R图
• 2. 实体间不同联系情况的E-R图表示法
【例2-1 】两个实体集之间的一对一的联系的绘制方法。假设某学院有 若干个系,每个系只有一个主任。则 主任和系之间是一对一的关系。 主任和系的属性分别如下: 主任——编号,姓名,年龄,学历; 系——系编号,系名 主任和系之间是一个管理关系
– 实例
班级与班长之间的联系:
实体型A
1 联系名
系主任
1 领导
系与系主任之间的联系;
1 实体型B
1
部门与部门经理间的联系;

9
两个实体型间的联系 (续)
• 一对多联系
– 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)
与之联系,反之,对于实体集B中的每一个实体,实体集A中至多
只有一个实体与之联系,则称实体集A与实体集B有一对多联系记
器件号 器件名称
P1
显示卡
P2
声卡
P3
解压卡
数量 100 120 180
300
P4 散热风扇 200
39
如果两表之间的联系是一对一的
班级号 3110501 3110502
班级名 1班 2班
班长 王小明 李勇
学号 姓名 年龄 2005004 王小明 19 2005006 李勇 20
性别 女 男
年级 2005 2005
E-R图
主讲老师:王文彬
1
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
2
2.1基本概念
• 实体-联系模型 • 1976年, P.P.S.Chen提出E-R模型(Entity-Relationship
(2) 属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
例如:学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性
组成。

22
150km/h
性别 张三 姓名
年龄
S001
学号
保时捷 类型
速度
12.5L/百公里 油耗
某个学生实体的数据模型
某个汽车实体的数据模型
成绩 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模型到关系模型的转换
项目
n
m
需要
仓库 1
保存 n 零件
n
m
供应
供应商
26
E-R图实例:某工厂物资管理E-R图
• Step4 确定实体类型和联系类型的属性。
• Step5 确定实体类型的关键码,在ER图中
属于码的属性名下画一条横线。
仓库编号 仓库名
项目名称
项目编号 立项日前
项目
n 需要
零件名
m
仓库 1
保存 n 零件
所在地 面积
31
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
32
2.4 E-R图设计剖析
• (1)实体与属性 • (2)联系的属性 • (3)实体与联系
33
实体 or 属性 ?
(6) 码(Key) 唯一标识实体的属性集称为码。 例如:学号是学生实体的码。
6
2.1 基本概念
(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系
两个实体型间联系可以分为三类:
一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
零件颜色
n 供应
供应商号
供应商名 联系方式
m 供应商
数量 零件型号
零件重量
27
思考?
研究所有若干个研究室,每一个研究室多位科研人 员在指定的办公地点.每一位科研人员只属于一个研 究室,有编号,姓名,性别和年龄.研究所承担了多 个科研项目,包括负责人,项目号项目名和开工时 间(每位科研人员可以参加多个科研项目).每个科研 项目有多位科研人员参加.科研人员参加科研项目均 有相应的工作量。画 E — R图
课程名
课程号
课程 m
选课
姓名 学号
n 学生
成绩
教师
成绩
年龄
成绩
性别
m:35 n
• (3)实体与联系
– 实体之间的联系类型并不取决于实体本身,而 是取决于现实世界的管理方法,或者说取决于 语义(业务规则),即同样两个实体,如果有不 同的语义则可以得到不同的联系类型。
36
仓库和器件实体间的关联
• 如果规定一个仓库只能存放一种器件,并且一种 器件只能存放在一个仓库,这时仓库和器件之间 的联系是一对一的;
为1:n – 实例
班级与学生之间的联系: 系与教职员工间的联系; 公司员工与部门间的联系
实体型A
1 联系名
班级
1 包括
n 实体型B
n 学生
10
两个实体型间的联系 (续)
• 多对多联系(m:n)
– 如果对于实体集A中的每一个实体,实体集B中有n个实体
(n≥0)与之联系,反之,对于实体集B中的每一个实体,实
P2
WH2
P3
WH2
P4
WH3
P1
WH4
P1
WH4
P2
WH4
P3
WH4
P4
数量
100 120 180 200 150 180 200 100 140
43
如果两表之间的联系是多对多的
学号 2002004 2005004 2005004 2005006 2005006
……
课程号 1 2 3 2 3
……
参与 工作量
是否需要研究所到科研项目间联系? 工作量 是放在实体上还是联系上?
科研项目
项目号
<pi> <M>
0,n
项目名 开工时间
项目负责人
30
ER模型-总结
• 优点
– 简单,容易理解,真实反应用户需求; – 与计算机无关,用户容易接受。
• 遇到实际问题一般先设计一个ER模型,然 后把ER模型转换成计算机能实现的数据模 型——逻辑数据模型。
4
2.1 基本概念
(3)实体集(Entity Set):具有相同类型和共享相同属性的实体的集合. 如学生,课程.
5
2.1 基本概念
(4) 域(Domain) 属性的取值范围称为该属性的域。
(5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型 例如:学生(学号、姓名、性别、出生年份、系、入学时间)就是 一个实体型。
仓库和商品的属性分别如下: 仓库——仓库号,地点,面积联单 商品——商品号,商品名,价格
在存放联系中要反映出存放商品的数量。
19
解:描述仓库和商品之间的E-R图可如下图所示
仓库号
地点
面积
仓库
1
存放 n
商品
数量
商品号
商品名
价格
20
两个实体集之间的多对多的联系的绘制方法。
• 【例2-3】假设在某教务管理系统中,一个教师可以上多 门课,一门课也可以由多个老师去上。教师和课程之间是 多对多的联系。
• 学生(学号,姓名,班级,地址,电话) • 班长(学号,姓名,班级,地址,电话) • 副班长(学号,姓名,班级,地址,电话) • 教师(编号,姓名,爱好,住址) • 系主任(编号,姓名,爱好,住址) • 学生(学号,姓名,班级,地址,电话,职
务) • 教师(编号,姓名,爱好,住址,职务)
34
联系的属性
7
两个实体型间的联系
实体型1 1 联系名
实体型1 1 联系名
实体型1 m 联系名
1 实体型2 1:1联系
n 实体型2 1:n联系
n 实体型2 m:n联系
8
两个实体型间的联系
• 一对一联系
– 如果对于实体集A中的每一个实体,实体集B中至多有 一个实体与之联系,反之亦然,则称实体集A与实体集
B具有一对一联系。记为1:1。
李勇
学号 姓名 年龄 性别
2005004 王小明 19 女 2005006 黄大鹏 20 男 2005008 张文斌 18 女
年级
2005 2005 2005
班级号
3110501 3110501 3110502
班级 1
组成
n 学生
1:n联系
42
仓库和器件是多wk.baidu.com多的关系
仓库号 器件号
WH1
P1
WH1
体集A中也有m个实体(m≥0)与之联系,则称实体集A与实
体B具有多对多联系。记为m:n
– 实例 课程与学生之间的联系:
教师与课程之间的联系;
实体型A
m 联系名
学生
M
选课
n 实体型B
N
课程
11
多个实体型间联系
• 两个以上实体型之间一对多联系
课程
1 讲授
m
n
教师
参考书
两个以上实体型间1:n联系
供应商
m 供应
n 项目
p 零件
两个以上实体型间m:n联系
12
单个实体型联系
• 单个实体型内的一对多联系
职工
1
n
领导
单个实体型内部 1:n联系
13
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例
14
2.2 E-R图
• E-R图概念模型的表示工具 • 实体-联系方法(E-R方法)
面积 500 450 200 300
实体之间的联系类型决定 了数据库设计时的结果, 与数据库的设计质量密切 相关
器件号 器件名称 数量
P1
显示卡 100
P2
声卡
120
P3
解压卡 180
P4 散热风扇 200 38
仓库和器件是一对一联系
仓库号 WH1 WH2 WH3
城市 北京 上海 广州
WH4
重庆
面积 500 450 200
17
解:描述主任和系之间的E-R图可如下图:
编号
姓名
年龄
学历
主任
1
管理
1

任职时间
系编号
系名
18
两个实体集之间的一对多的联系的绘制方法
• 【例 2-2】假设在某仓库管理系统中,有两个实体集:仓 库和商品。仓库用来存放商品,且规定一类商品只能存放 在一个仓库中,一个仓库可以存放多件商品。仓库和商品 之间是一对多的联系。
28
• 实体:研究所,研究室,研究人员,项目 • 联系:
– 研究所,研究室之间联系 – 研究室,研究人员间联系 – 研究人员,项目之间联系
29
研究所
研究所编号 <pi> <M> 研究所名 地址
研究所E-R图
包含
研究室
研究室编号 <pi> <M> 研究室名 办公地点

研究员
编号 <pi> <M> 0,n 姓名 性别 年龄
班级 1
管理
1 班长
1:1联系
40
仓库和器件间是一对多关系
器件号 P1 P2 P3 P4
器件名称 显示卡 声卡 解压卡
散热风扇
数量 100 120 180 200
仓库号 WH1 WH1 WH2 WH2
41
如果两表之间的联系是一对多的
班级号 3110501 3110502
班级名 1班 2班
班长 王小明
Model),用E-R图来描述概念数据模型.观点: 世界是由一组 称作实体的基本对象和这些对象之间的联系构成的.
实体
实体
3
2.1 基本概念
(1) 实体(Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
客观实体,如人,汽车,图书,…… 抽象实体,如帐户,贷款, ……
仓库,工程项目,零件,供应商 。
仓库
工程项目
零件
供应商
24
E-R图实例:某工厂物资管理E-R图 • Step2 确定联系类型。
项目和零件之间是M:N联系 零件 和 供应商之间也是M:N联系 仓库与零件关系是一对多关系1:N
25
E-R图实例:某工厂物资管理E-R图 • Step3 把实体类型和联系类型组合成ER图。
• 例:为仓库管理设计一个ER模型。 仓库主要管理零件的采购和供应等事项。 仓库根据需要向外面供应商订购零件,而 许多工程项目需要仓库提供零件。
23
E-R图实例:某工厂物资管理E-R图
• ER图建立过程如下:
Step1 首先确定实体类型。 仓库主要管理零件的采购和供应等事项。仓库根据需要向 外面供应商订购零件,而许多工程项目需要仓库提供零件。 本问题有四个实体类型:
相关文档
最新文档