关系模式分解PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
…
R1
…
Ri
a1
…
Rk
X 分解… ρ具有Y无损联…接性 a2 … … an
.
11
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第一步:构造表S
A
B
C
第二步:修正②B→C
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
b24
b25
R3
b31
a2
b13
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
b54
a5
.
16
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
依赖(语义)等价
无损联接 保持依赖
R(U) F
R1(U1), R2(U2),…, Rk(Uk) F1, F2,…, Fk
.
5
二、无损联接分解
.
6
二、无损联接分解
1、定义 设有关系模式R(U,F),ρ=(R1,R2…,Rk)是R 的一个分解。如果对于R的任一满足F的关系r, 把r在ρ上的投影的联接表达式记为: m(r)=πR1(r)∞πR2(r)∞…∞πRk(r) 如果r=m(r)成立,则称这个分解ρ是满足依赖 集F的无损联接分解。
Ri
s[i,j]
…
Aj不在Ri中, bij
Rk
.
9
2、算法5.2 判断一个分解的无损联接性(续2)
(2)依据函数依赖集F进行修正:X→Y
FD的选择顺序可随意
…
X
…
Y
…
R1 …
Ri
…
若Y值中有 aj,其它也改为aj
Rk
若Y值中无 aj,其它改为bij(下标小)
.
10
2、算法5.2 判断一个分解的无损联接性(续3) (3)判断条件:
第二步:修正③C→D
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
b24
b25
R3
b31
a2
b13
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
b54
a5
.
17
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第二步:修正②B→C
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
b24
b25
R3
b31
a2
b33
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
b54
a5
.
15
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第二步:修正④DE→C
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
a4
b25
R3
b31
a2
b13
a4
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
a4
a5
.
19
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第二步:修正①A→C
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
b24
b25
R3
b31
a2
b33
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
b54
a5
.
14
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第二步:修正①A→C
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b23
b24
b25
R3
b31
a2
b33
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b53
b54
a5
.
13
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
.
7
2、算法5.2 判断一个分解的无损联接性
输入:关系模式R(A1,…,An), 函数依赖集F, R的一个分解ρ=(R1,…,Rk)。
输出:ρ是否为无损联接的判断。 方法:
.
8
2、算法5.2 判断一个分解的无损联接性(续1) (1)构造一个k行n列表S,其中:
A1
…
Aj
…
An
R1
…
Aj在Ri中, aj
第5章 关系数据库模式设计
第3讲 关系模式的分解
.
1
主要内容
模式分解 无损联接分解 保持函数依赖集
.
2
一、模式分解 1、分解定义
对于任意的i,j(1≤i, j≤k),不成立UiUj
R(U,F)
U=U1∪U2∪…∪Uk Fi是F在Ui上的投影
ρ
= {R1(U1,F1),R2(U2,F2),…,Rk(Uk,Fk)}
R(U,F)的一个分解
也称数据库模式
.
3
2、F在Ui上的投影
设有关系模式R(U,F),F是R的函数依赖 集,Z是U的子集,则把F+中所有满足XYZ的
函 数依赖X→Y组成的集合,称为依赖集F在属性集 Z上的投影,记为πZ(F):
πZ(F)={X→Y|X→Y∈F+且XYZ}
.
4
思考:
数据等价 两个问题:
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b23
b24
b25
R3
b31
a2
b33
b34
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
Байду номын сангаас
b53
b54
a5
.
12
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。
第二步:修正③C→D
A
B
C
D
E
R1
a1
b12
b13
a4
b15
R2
a1
a2
b13
a4
b25
R3
b31
a2
b13
a4
a5
R4
b41
b42
a3
a4
a5
R5
a1
b52
b13
a4
a5
.
18
例 5.7 设R(ABCDE),F={A→C,B→C,C→D,DE→C,
CE→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE), R5(AE)},检验分解ρ是否具有无损联接性。