第6讲 实体关系模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
弱实体
© Pearson Education Limited, 2004
28
强实体和弱实体
分析一下弱实体Item
Order
Item
Item.Key = Order.PK + Item.序号
© Pearson Education Limited, 2004 29
强实体和弱实体
再思考
?
© Pearson Education Limited, 2004 30
© Pearson Education Limited, 2004
5
ER建模(2)
然后增加细节信息,如实体和关系所要 具有的信息(叫做属性),以及实体、 关系和属性上的限制。
© Pearson Education Limited, 2004
6
推荐一个工具——StarUML
+Role1 +Role2 Kim, Keehyun +End1 1..* 关联名 +End2 Kum, Deukkyu 0..* Bae, Rankyoung
现在能回答哪名员工使用SH34号汽车。
© Pearson Education Limited, 2004 53
ER模型中的设计问题
深坑陷阱
一种模型,假设两个实体之间存在关系,但这 些实体之间不存在路径。
© Pearson Education Limited, 2004
54
深坑陷阱的一个例子
没有被选为主键的候选键。
© Pearson Education Limited, 2004
26
实体和属性的ER图
© Pearson Education Limited, 2004
27
强实体和弱实体
强实体
不依赖于另一个实体的主键的实体。 部分或全部依赖于其他一个或多个实体的主 键而存在的实体。
© Pearson Education Limited, 2004
57
深坑陷阱问题的解决-一个例子
现在可以说明员工在哪个分公司工作了.
© Pearson Education Limited, 2004
58
பைடு நூலகம்
13
关系
关系
实体之间的具有某种含义的关联。
一种是天然的关系:血缘关系;包含关系;组 成关系。 另一种是动态的关联:一次销售活动将人员和商 品联系到了一起。
关系事件
每个关系在集合中也要被唯一地标识。
© Pearson Education Limited, 2004 14
关系的ER图形化表示
4
ER建模(1)
ER建模是一种自上而下的数据库设计方法。实
体、关联、属性、约束、规则———》细节方向
是一种构造满足处理要求的数据结构的自然方 法。类似于面向对象的领域分析。了解本质的概念和
关系,与具体的存储和处理无关。——》表达对领域 知识的理解
通过标识模型中必须要表示的重要数据(叫做 实体)以及数据间的关系开始ER建模。
关系的多样性约束
多样性(Multiplicity) 一个实体中可能 和相关实体的一个存在关联的实体事件 的数目。 多样性代表了用户或者公司建立的策略, 被称为业务规则(business rule)。
© Pearson Education Limited, 2004
31
关系的多样性约束
最常用的关系是度为2的二元关系。 二元关系上的多样性约束一般被叫做
22
属性
单值属性
对一个实体只有一个值的属性。
多值属性
对于一个实体可以有多个值的属性。
© Pearson Education Limited, 2004
23
属性
派生属性
属性值代表一个从相关属性或者属性集派生 的值,在相同实体中不是必须的属性。
© Pearson Education Limited, 2004
退学
© Pearson Education Limited, 2004
11
具有物理存在和概念存在的实 体
物理存在的事物根据处理的需要进行符号化并存入计算 机系统。
© Pearson Education Limited, 2004
12
实体的ER图形化表示
© Pearson Education Limited, 2004
Jung, Yoontae
Lee, Jangwoo
Lee, Minkyu
Lim, Heejin
© Pearson Education Limited, 2004
7
建模工具的作用
方便绘制和修改,文档美观 自动生成数据库模式 自动产生代码框架
© Pearson Education Limited, 2004
8
实体
实体
一组有相同属性的对象,被用户或者团体标 识为独立存在的对象的集合。 一个潜意识是:这个数据需要永久保存吗? 系统功能需要这个数据结构来支持吗? 每个对象必须在集合中被唯一地标识表示 。 通过什么属性来彼此区分。
© Pearson Education Limited, 2004 9
第7章
实体-关系建模 幻灯片
© Pearson Education Limited, 2004
1
重要内容授课计划
两次讲课 一次习题课 课程设计
© Pearson Education Limited, 2004
2
本讲重点内容提示
理解实体和关联的含义 实体关系模型的新的表示法 介绍一个工具starUML 多重性的含义 多元关联 特化/泛化表示 扇形陷阱和深坑陷阱
Staff
工作于
1..* 1
管理
1 0..1
Branch
思考: 1 如何转换逻辑结构? 2 存在着冗余的属性,利用特化/泛化来解决;
© Pearson Education Limited, 2004
37
多对多关系–一个例子
© Pearson Education Limited, 2004
38
多对多关系–多样性
ER模型中的设计问题
扇形陷阱
从第三个实体扇出的两个实体有1:*关系,但 这两个实体之间应该有直接关系以提供必要的 信息。
© Pearson Education Limited, 2004
49
扇形陷阱的一个例子
模型包含的信息:
模型丢失的信息
•部门有一些员工
•部门有一些车辆
•部门中的员工负责哪 些车辆
41
复杂关系-多样性
© Pearson Education Limited, 2004
42
多样性约束的总结
© Pearson Education Limited, 2004
43
多样性
多样性约束由两种约束组成。
基数 参与
© Pearson Education Limited, 2004
44
一对一 (1:1) 一对多 (1:*) 多对多 (*:*)
© Pearson Education Limited, 2004
32
一对一关系-一个例子
© Pearson Education Limited, 2004
33
一对一关系–多样性
同学来还原领域知识… 注意多重性使得领域知识更加精确了…
实体事件
实体
具有生命周期. 借书记录——借书时产生, 还书时消亡。板书一下学生对象的生命 周期? 需要跟踪的。网上购书账单。
思考: 注册会员——是实体吗?
© Pearson Education Limited, 2004
10
“学生”对象的生命周期
用StarUML建模
注册 在校 休学 H 毕业
© Pearson Education Limited, 2004
39
复杂关系
一般来说,n元关系的多样性约束代表关 系中其他n-1元固定的情况下某个实体潜 在的实体事件的数目。
© Pearson Education Limited, 2004
40
复杂关系-一个例子
© Pearson Education Limited, 2004
© Pearson Education Limited, 2004
47
ER模型中的设计问题
设计一个ER模型可能会出现问题,这些 问题总体上被称为连接陷阱。 通常是由于对某些关系的含义的误解而 产生的。 连接陷阱的主要两种类型是扇形陷阱和 深坑陷阱。
© Pearson Education Limited, 2004 48
© Pearson Education Limited, 2004
15
关系
关系的度
在关系中参与的实体的数目。
度数的关系:
一个度数为2的关系叫做二元关系 一个度数为3的关系叫做三元关系 一个度数为4的关系叫四元关系
© Pearson Education Limited, 2004 16
24
键
超键
可以唯一标识一个实体的属性或者属性组。 可以唯一标识一个实体的最小数目的属性的 超键。
候选键
© Pearson Education Limited, 2004
25
Keys
主键 (一个关系只有一个候选键作为主 键)
被选中作为标识实体的候选键。
备用键(可选键总是建立唯一索引)
© Pearson Education Limited, 2004
20
属性
属性可以分为:
简单属性或复合属性 单值属性或多值属性 派生属性
© Pearson Education Limited, 2004
21
属性
简单属性
仅由单个元素组成的属性。
复合属性
由多个元素组成的属性。
© Pearson Education Limited, 2004
© Pearson Education Limited, 2004 50
扇形陷阱的一个例子
不能回答哪名员工使用SH34号汽车。
© Pearson Education Limited, 2004 51
解决扇形陷阱问题
© Pearson Education Limited, 2004
52
扇形陷阱问题的解决-一个例子
原意是通过一个员工的持有的车辆来了解 他所在的部门,但是车辆和员工之间是可 选参与
© Pearson Education Limited, 2004 55
深坑陷阱-一个例子
不能回答员工S0003在哪个分公司工作
© Pearson Education Limited, 2004 56
解决深坑陷阱问题
多样性
基数
描述每个可能参与实体的关系的数目。 决定是否所有的或仅有的某些实体在关系中发 生参与。
参与
© Pearson Education Limited, 2004
45
基数和参与约束的形式显示的 多样性
© Pearson Education Limited, 2004
46
关系上的属性
三元关系的例子
是一个关联,不 作为实体
UML中没有这样的描述,可以变通一下:
Employee Registration Branch
Staff
© Pearson Education Limited, 2004
17
递归关系
在不同的角色中有多次具有相同实体参 与的关系。 可以给关系一个角色名字以表明每个参 与的实体在关系中所起的作用。
© Pearson Education Limited, 2004 3
第7章–主题
在数据库设计中怎样使用ER建模。
ER模型中的基本概念:实体、关系和属 性。 显示ER模型的图形技术。 怎样辨别和解决在ER模型中可能出现的 连接陷阱的问题。
© Pearson Education Limited, 2004
© Pearson Education Limited, 2004
18
递归关系例子
思考: 学生集合的递归关联; 课程集合的递归关联。。。
© Pearson Education Limited, 2004
19
属性
实体或者关系的性质。 这些属性的值描述了每个实体事件或关 系,并代表了存储在数据库中的数据的 主要来源。
© Pearson Education Limited, 2004 34
一对多关系-一个例子
© Pearson Education Limited, 2004
35
一对多关系-多样性
© Pearson Education Limited, 2004
36
一对多关系-多样性
综合上面的两个图,实体之间的多关联