武汉大学数据库系统概论 第十三讲 实体联系图(ER图)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单值实体 —— 如果max_card(E,R)=1,E被称为在联 系R中是单值的 多值实体 —— 如果max_card(E,R)=N,E被称为在联 系R中是多值的 一对一联系 —— 如果实体E和F都是单值的,则E和F 之间的二元联系R称为是一对一的,或1:1 多对多联系 —— 如果实体E和F都是多值的,则E和F 之间的二元联系R称为是多对多的,或M:N 多对一联系 —— 如果实体E是多值的而F是单值的, 则E和F之间的二元联系R称为是多对一的,或N:1
32
结
5.
构
化
约
束
ER图中二元联系的图形化
假定一个实体E及其联系R,且 min_card(E,R)= x (x为0或1), max_card(E,R)= y (y为1或N),则E和R之 间的连接线用有序对(x..y)标记。
33
结
5.
构
基数
化
约
束
ER图中二元联系的图形化
一个分支机构由 一名职员管理 Staff staffNo 一名职员管理 一个分支机构 Manages
2
一.为什么需要ER模型(图) 二.ER模型的基本概念 三.弱实体类型和强实体类型 四.结构化约束 五.ER模型的问题
3
为什么需要ER 模型(图)
4
为什么需要ER模型(图)
1.
现实世界是复杂的 如何将现实世界的不规则 的手工信息处理方式转换 为规则的计算机信息处理 方式?
5
为什么需要ER模型(图)
1..1
0..1
Branch branchNo
所有分支机构都 被管理
不是所有职员都 管理分支机构
参与
Staff Manages Branch一对一联系的基数约束和参与约束34
武汉大学国际软件学院
结
3.
构
化
约
束
多元联系的多样性
--在一个n元联系中,考虑某个实体类型, 当其他(n-1)个实体类型的值确定后,它可 能的实例数目(或范围)
27
结
1.
构
化
约
束
结构化约束 基数约束(cardinality constraints) —— 描述一个特定联系类型中的一个 实体最多可参与联系的实例数目 参与约束(participation constraints) —— 说明是否所有的实体实例都参与 了联系
28
结
2.
构
化
约
束
联系中实体的基数
15
ER模型的基本概念
4.
简单E-R图
实体类型的图形化表示
每个实体类型都用一个矩形表示,在矩形里面标有该实体类 型的名字,名字通常用名词。
Staff
Branch
16
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
每个联系类型都表现为连接相关联实体类型的一条线,在线 上标明该联系的名字。通常用一个动词或动词短语
第一个列出的是主关键字属性,在主关键字属性的名字后面标 记{PK},在部分主关键字属性的名字后标记{PPK} 在候选关键字属性的名字后面标记{AK} 简单属性和单值属性没有必要标记 对于复合属性,在复合属性名下面以右缩进形式列出子属性名 对于多值属性,在属性名后面注明它的取值范围 对于导出属性,在属性名前加上前缀“/”
4.
联系类型
联系类型(relationship type) —— 实体类型间的一组有意义的关联 联系实例(relationship occurrence) —— 一个可唯一标识的关联,涉及参与该联系的每个实体类型 的一个实例 联系类型的度(degree of a relationship type) —— 参与联系的实体类型的个数。度为2的联系称为二元联系; 度为3的称为三元联系;度为3或更高的联系,称为多元联系 递归联系(recursive relationship) —— 是这样一种联系类型,其同一个实体类型参与的次数大于1, 并且每次参与具有不同角色.递归联系也称为一元联系
9
ER模型的基本概念
2.
实体类型
例,学生是一个实体类型,它由学生集合{学生1,学 生2,…,学生n}构成;每一个学生,如:学生i, 是学生实体的一个实体实例;而为了描述学生的 特征,并使每一个学生实例能相互区别,可以用 (学号,姓名,性别,年龄,所属系)这个属性 集描述学生,这个属性集就是学生的实体类型。
角色名
Supervisee
包括Supervisor和Supervisee角色的递归联系Supervises 也是一元联系
18
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
经理管理分支机构
角色名
Manager Manages Branch Office
Staff
Member of Staff
30
结
4.
构
化
约
束
二元联系的多样性 —— 就是两个实体中实例之间的联系 E
R
F
E
R
F
E
R
F
一对一联系 1:1
多对一联系 N:1
多对多联系 M:N 31
结
4.
构
化
约
束
二元联系的多样性
10
ER模型的基本概念
3.
属性
属性(attribute) —— 实体类型或联系类型所具有的某一特性 属性域(attribute domain) —— 单个属性或多个属性所允许的值的集合 简单属性(simple attribute) —— 由单个部分组成的属性,可独立地存在 复合属性(composite/component attribute) —— 共同描述一个性质的一组简单属性
29
结
3.
构
化
约
束
强制参与实体与可选参与实体 强制参与(mandatory participation) —— 如果min-card(E,R)=1,E称为强制参与 R,或者称为在R中是强制的 可选参与(optional participation ) —— 一个实体E在R中不是强制的,则称为在 R中是可选的,或者称为可选参与R
has
Branch
Branch Office
角色名 分支机构具有职员 通过两个具有角色名的不同联系Manages和Has关联的实体
19
ER模型的基本概念
4.
简单E-R图 属性的图形化表示
在一个实体类型中显示其属性时,将实体类型的矩阵分为两 个部分:上部分是实体的名字,下部分列出实体属性的名字。
2.
例如,教师与教师的个人简历 Client与Preference
24
弱实体类型和强实体类型
弱实体类型的一个特征是,仅使用该实体类型的属性 无法唯一标识每个实体实例
强实体 Client clientNo{PK} Name fName lName telNo 弱实体
States
Preference preType maxRent
3.
属性
例, 对于雇员实体,使用属性:雇员号、爱好和地址来 描述,其中,每一个雇员有唯一的雇员号标识,是候 选关键字;且雇员号可选作主关键字;属性地址由邮 政编码、州、城市和门牌号码这样一组属性来共同描 述,因此,地址是复合属性;一个雇员有多个爱好和 兴趣,属性爱好是多值属性。
14
ER模型的基本概念
2.
隔行如隔山
需要一个简明易 懂、无二义性且 能描述信息处理 现状的语言
数据库语言及 高级程序语言
6
ER模型的 基本概念
7
ER模型的基本概念
1.
现实世界与ER模型的概念对应 现实世界 事物 特征 联系 E-R模型 实体 属性 联系 关系模型 关系 属性 关系
8
百度文库
ER模型的基本概念
2.
实体类型
实体类型(entity type) —— 一组具有相同属性的对象,这些对象 能独立存在 实体实例(entity instance/occurrence) —— 对应于实体类型下的一个取值,实体 实例是可区别的
基数(cardinality) --- 描述一个特定联系类型中,一个实体最少或最多可参与联 系的实例的数目 最小基数(minimum cardinality) —— 包含在联系中的实体实例的最小数目, 表示为min-card(实体,联系) 最大基数(maximum cardinality) —— 包含在联系中的实体实例的最大数目, 表示为max-card(实体,联系) 一个实体的最小基数和最大基数性质代表了DBA制定的、必须时 刻遵守的规则,这些规则不能被数据库更新操作打破
当一个模型暗示某些实体类型之间存在联系,而这些 实体实例间却不存在相应的道路
37
E R 模 型 的 问 题
12
ER模型的基本概念
3.
属性
候选关键字(candidate key) —— 能唯一标识每个实体实例的最小属性组 主关键字(primary key) —— 实体类型中被选来唯一标识每个实体实例的候选关 键字 复合关键字(composite key) —— 包括二个或更多属性的候选关键字
13
ER模型的基本概念
11
ER模型的基本概念
3.
属性
单值属性(single-valued attribute) —— 在一个实体实例中只有单独一个值 多值属性(multi-valued attribute) —— 在一个实体实例中可以取多个值的属性 导出属性(derived attribute) —— 由相关的一个属性或一组属性的值导出,在同一个 实体类型中该属性并不是必要的
Branch branchNo{PK} Address street city postcode telNo[1..3]
复合属性
多值属性
21
Staff和Branch实体及它们的属性
ER模型的基本概念
4.
简单E-R图 联系属性的图形化表示
在报纸上宣传待出租的房产 Newspaper newspaperName PropertyForRent propertyNo
联系的属性,采用与实体类型相同的符号,但用虚线将表示 联系属性的矩形与联系类型名连接起来
20
ER模型的基本概念
4.
简单E-R图 实体属性的图形化表示
主关键字
Staff staffNo{PK}
在此列出 属性
Manages has
Name
Position Salary /totalStaff
导出属性
强实体类型Client和弱实体类型Preference
25
结构化约束
26
结
1.
构
化
约
束
结构化约束 多样性(multiplicity) -- 联系上主要的约束称为多样性。在一 个特定的联系中,一个参与实体类型的 某个实例,可能与另一个参与实体类型 发生关联的实例的数目(或范围)
多样性事实上由两个独立的约束组成, 即基数约束和参与约束
Staff Branch Client 职员在某分支机构中注册了一名客户 三元联系Registers
17
Staff
has
Registers
Branch
分支机构拥有职员 二元联系Has
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
角色名
Supervises Supervisor Staff
第十三讲 实体联系模型(图)
1
本讲主要目标
学完本讲后,你应该能够了解:
1. ER模型由实体、属性和联系三个因素构成; 2. 实体、属性和联系的一些术语:实体类型、实体实 例、单值属性、多值属性、复合属性、导出属性、 主关键字、候选关键字、复合关键字、联系类型、 联系实例、联系属性、联系类型的度、递归联系, 以及这些元素的图形化标识方法; 3. 属性的基数、弱实体、强实体的概念; 4. ER模型的结构化约束是指参与一个联系的实体类 型上存在的约束,二元联系通常分为一对一、一对 多、多对多三种联系; 5. ER模型的不正确使用可能产生一些问题:连接陷阱、 扇形陷阱、深坑陷阱。
Advertises
dateAdvert cost 具有dateAdvert和cost属性的Advertises联系
22
弱实体类型和 强实体类型
23
弱实体类型和强实体类型
1.
强实体类型(Strong entity type) (父实体, 属主实体(owner entity),支配实体) 该实体类型的存在不依赖于其他的实体类型 弱实体类型(Weak entity type) (子实体, 依赖实体,从属实体) 该实体类型的存在依赖于其他实体类型的存在
35
ER模型的问题
36
E R 模 型 的 问 题
1.
连接陷阱(connection trap) 由于对特定联系含义的错误理解而引起的问题。 主要研究两类:扇形陷阱和深坑陷阱 扇形陷阱(fan trap)
当用模型来表示实体间的联系时,某些特殊实体实例 间的道路是不明确的
深坑陷阱(chasm trap)
32
结
5.
构
化
约
束
ER图中二元联系的图形化
假定一个实体E及其联系R,且 min_card(E,R)= x (x为0或1), max_card(E,R)= y (y为1或N),则E和R之 间的连接线用有序对(x..y)标记。
33
结
5.
构
基数
化
约
束
ER图中二元联系的图形化
一个分支机构由 一名职员管理 Staff staffNo 一名职员管理 一个分支机构 Manages
2
一.为什么需要ER模型(图) 二.ER模型的基本概念 三.弱实体类型和强实体类型 四.结构化约束 五.ER模型的问题
3
为什么需要ER 模型(图)
4
为什么需要ER模型(图)
1.
现实世界是复杂的 如何将现实世界的不规则 的手工信息处理方式转换 为规则的计算机信息处理 方式?
5
为什么需要ER模型(图)
1..1
0..1
Branch branchNo
所有分支机构都 被管理
不是所有职员都 管理分支机构
参与
Staff Manages Branch一对一联系的基数约束和参与约束34
武汉大学国际软件学院
结
3.
构
化
约
束
多元联系的多样性
--在一个n元联系中,考虑某个实体类型, 当其他(n-1)个实体类型的值确定后,它可 能的实例数目(或范围)
27
结
1.
构
化
约
束
结构化约束 基数约束(cardinality constraints) —— 描述一个特定联系类型中的一个 实体最多可参与联系的实例数目 参与约束(participation constraints) —— 说明是否所有的实体实例都参与 了联系
28
结
2.
构
化
约
束
联系中实体的基数
15
ER模型的基本概念
4.
简单E-R图
实体类型的图形化表示
每个实体类型都用一个矩形表示,在矩形里面标有该实体类 型的名字,名字通常用名词。
Staff
Branch
16
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
每个联系类型都表现为连接相关联实体类型的一条线,在线 上标明该联系的名字。通常用一个动词或动词短语
第一个列出的是主关键字属性,在主关键字属性的名字后面标 记{PK},在部分主关键字属性的名字后标记{PPK} 在候选关键字属性的名字后面标记{AK} 简单属性和单值属性没有必要标记 对于复合属性,在复合属性名下面以右缩进形式列出子属性名 对于多值属性,在属性名后面注明它的取值范围 对于导出属性,在属性名前加上前缀“/”
4.
联系类型
联系类型(relationship type) —— 实体类型间的一组有意义的关联 联系实例(relationship occurrence) —— 一个可唯一标识的关联,涉及参与该联系的每个实体类型 的一个实例 联系类型的度(degree of a relationship type) —— 参与联系的实体类型的个数。度为2的联系称为二元联系; 度为3的称为三元联系;度为3或更高的联系,称为多元联系 递归联系(recursive relationship) —— 是这样一种联系类型,其同一个实体类型参与的次数大于1, 并且每次参与具有不同角色.递归联系也称为一元联系
9
ER模型的基本概念
2.
实体类型
例,学生是一个实体类型,它由学生集合{学生1,学 生2,…,学生n}构成;每一个学生,如:学生i, 是学生实体的一个实体实例;而为了描述学生的 特征,并使每一个学生实例能相互区别,可以用 (学号,姓名,性别,年龄,所属系)这个属性 集描述学生,这个属性集就是学生的实体类型。
角色名
Supervisee
包括Supervisor和Supervisee角色的递归联系Supervises 也是一元联系
18
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
经理管理分支机构
角色名
Manager Manages Branch Office
Staff
Member of Staff
30
结
4.
构
化
约
束
二元联系的多样性 —— 就是两个实体中实例之间的联系 E
R
F
E
R
F
E
R
F
一对一联系 1:1
多对一联系 N:1
多对多联系 M:N 31
结
4.
构
化
约
束
二元联系的多样性
10
ER模型的基本概念
3.
属性
属性(attribute) —— 实体类型或联系类型所具有的某一特性 属性域(attribute domain) —— 单个属性或多个属性所允许的值的集合 简单属性(simple attribute) —— 由单个部分组成的属性,可独立地存在 复合属性(composite/component attribute) —— 共同描述一个性质的一组简单属性
29
结
3.
构
化
约
束
强制参与实体与可选参与实体 强制参与(mandatory participation) —— 如果min-card(E,R)=1,E称为强制参与 R,或者称为在R中是强制的 可选参与(optional participation ) —— 一个实体E在R中不是强制的,则称为在 R中是可选的,或者称为可选参与R
has
Branch
Branch Office
角色名 分支机构具有职员 通过两个具有角色名的不同联系Manages和Has关联的实体
19
ER模型的基本概念
4.
简单E-R图 属性的图形化表示
在一个实体类型中显示其属性时,将实体类型的矩阵分为两 个部分:上部分是实体的名字,下部分列出实体属性的名字。
2.
例如,教师与教师的个人简历 Client与Preference
24
弱实体类型和强实体类型
弱实体类型的一个特征是,仅使用该实体类型的属性 无法唯一标识每个实体实例
强实体 Client clientNo{PK} Name fName lName telNo 弱实体
States
Preference preType maxRent
3.
属性
例, 对于雇员实体,使用属性:雇员号、爱好和地址来 描述,其中,每一个雇员有唯一的雇员号标识,是候 选关键字;且雇员号可选作主关键字;属性地址由邮 政编码、州、城市和门牌号码这样一组属性来共同描 述,因此,地址是复合属性;一个雇员有多个爱好和 兴趣,属性爱好是多值属性。
14
ER模型的基本概念
2.
隔行如隔山
需要一个简明易 懂、无二义性且 能描述信息处理 现状的语言
数据库语言及 高级程序语言
6
ER模型的 基本概念
7
ER模型的基本概念
1.
现实世界与ER模型的概念对应 现实世界 事物 特征 联系 E-R模型 实体 属性 联系 关系模型 关系 属性 关系
8
百度文库
ER模型的基本概念
2.
实体类型
实体类型(entity type) —— 一组具有相同属性的对象,这些对象 能独立存在 实体实例(entity instance/occurrence) —— 对应于实体类型下的一个取值,实体 实例是可区别的
基数(cardinality) --- 描述一个特定联系类型中,一个实体最少或最多可参与联 系的实例的数目 最小基数(minimum cardinality) —— 包含在联系中的实体实例的最小数目, 表示为min-card(实体,联系) 最大基数(maximum cardinality) —— 包含在联系中的实体实例的最大数目, 表示为max-card(实体,联系) 一个实体的最小基数和最大基数性质代表了DBA制定的、必须时 刻遵守的规则,这些规则不能被数据库更新操作打破
当一个模型暗示某些实体类型之间存在联系,而这些 实体实例间却不存在相应的道路
37
E R 模 型 的 问 题
12
ER模型的基本概念
3.
属性
候选关键字(candidate key) —— 能唯一标识每个实体实例的最小属性组 主关键字(primary key) —— 实体类型中被选来唯一标识每个实体实例的候选关 键字 复合关键字(composite key) —— 包括二个或更多属性的候选关键字
13
ER模型的基本概念
11
ER模型的基本概念
3.
属性
单值属性(single-valued attribute) —— 在一个实体实例中只有单独一个值 多值属性(multi-valued attribute) —— 在一个实体实例中可以取多个值的属性 导出属性(derived attribute) —— 由相关的一个属性或一组属性的值导出,在同一个 实体类型中该属性并不是必要的
Branch branchNo{PK} Address street city postcode telNo[1..3]
复合属性
多值属性
21
Staff和Branch实体及它们的属性
ER模型的基本概念
4.
简单E-R图 联系属性的图形化表示
在报纸上宣传待出租的房产 Newspaper newspaperName PropertyForRent propertyNo
联系的属性,采用与实体类型相同的符号,但用虚线将表示 联系属性的矩形与联系类型名连接起来
20
ER模型的基本概念
4.
简单E-R图 实体属性的图形化表示
主关键字
Staff staffNo{PK}
在此列出 属性
Manages has
Name
Position Salary /totalStaff
导出属性
强实体类型Client和弱实体类型Preference
25
结构化约束
26
结
1.
构
化
约
束
结构化约束 多样性(multiplicity) -- 联系上主要的约束称为多样性。在一 个特定的联系中,一个参与实体类型的 某个实例,可能与另一个参与实体类型 发生关联的实例的数目(或范围)
多样性事实上由两个独立的约束组成, 即基数约束和参与约束
Staff Branch Client 职员在某分支机构中注册了一名客户 三元联系Registers
17
Staff
has
Registers
Branch
分支机构拥有职员 二元联系Has
ER模型的基本概念
4.
简单E-R图
联系类型的图形化表示
角色名
Supervises Supervisor Staff
第十三讲 实体联系模型(图)
1
本讲主要目标
学完本讲后,你应该能够了解:
1. ER模型由实体、属性和联系三个因素构成; 2. 实体、属性和联系的一些术语:实体类型、实体实 例、单值属性、多值属性、复合属性、导出属性、 主关键字、候选关键字、复合关键字、联系类型、 联系实例、联系属性、联系类型的度、递归联系, 以及这些元素的图形化标识方法; 3. 属性的基数、弱实体、强实体的概念; 4. ER模型的结构化约束是指参与一个联系的实体类 型上存在的约束,二元联系通常分为一对一、一对 多、多对多三种联系; 5. ER模型的不正确使用可能产生一些问题:连接陷阱、 扇形陷阱、深坑陷阱。
Advertises
dateAdvert cost 具有dateAdvert和cost属性的Advertises联系
22
弱实体类型和 强实体类型
23
弱实体类型和强实体类型
1.
强实体类型(Strong entity type) (父实体, 属主实体(owner entity),支配实体) 该实体类型的存在不依赖于其他的实体类型 弱实体类型(Weak entity type) (子实体, 依赖实体,从属实体) 该实体类型的存在依赖于其他实体类型的存在
35
ER模型的问题
36
E R 模 型 的 问 题
1.
连接陷阱(connection trap) 由于对特定联系含义的错误理解而引起的问题。 主要研究两类:扇形陷阱和深坑陷阱 扇形陷阱(fan trap)
当用模型来表示实体间的联系时,某些特殊实体实例 间的道路是不明确的
深坑陷阱(chasm trap)