第6讲 实体关系模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
一对多关系-多样性

综合上面的两个图,实体之间的多关联
相关文档
最新文档