关系模式分解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二步:修正②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
2021/3/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)},检验分解ρ是否具有无损联接性。
第二步:修正①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
2021/3/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)},检验分解ρ是否具有无损联接性。
第一步:构造表S
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
2021/3/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)},检验分解ρ是否具有无损联接性。
思考:
数据等价
• 两个问题:
依赖(语义)等价
无损联接 保持依赖
R(U) F
R1(U1), R2(U2),…, Rk(Uk) F1, F2,…, Fk
2021/3/13
二、无损联接分解
2021/3/13
二、无损联接分解
• 1、定义 • 设有关系模式R(U,F),ρ=(R1,R2…,Rk
)是R的一个分解。如果对于R的任一满足 F的关系r,把r在ρ上的投影的联接表达式 记为: • m(r)=πR1(r)∞πR2(r)∞…∞πRk(r) • 如果r=m(r)成立,则称这个分解ρ是满 足依赖集F的无损联接分解。
第二步:修正①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
2021/3/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)},检验分解ρ是否具有无损联接性。
第二步:修正②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
2021/3/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)},检验分解ρ是否具有无损联接性。
R(U,F)的一个分解 也称数据库模式
2、F在Ui上的投影
•
设有关系模式R(U,F),F是R的函数
依赖
• 集,Z是U的子集,则把F+中所有满足 XYZ的函
• 数依赖X→Y组成的集合,称为依赖集F 在属性集
• Z上的投影,记为πZ(F):
▪
2021/3/13
πZ(F)={X→Y|X→Y∈F+且XYZ}
第二步:修正③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
2021/3/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)},检验分解ρ是否具有无损联接性。
2021/3/13
2、算法5.2 判断一个分解的无损联接性(续3)
• (3)判断条件:
…
R1
…
Ri
a1
…
Rk
X 分解… ρ具有Y无损联…接性 a2 … … an
2021/3/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)},检验分解ρ是否具有无损联接性。
关系模式分解
主要内容
• 模式分解 • 无损联接分解 • 保持函数依赖集
2021/3/13
• 1、分解定义
一、模式分解
对于任意的i,j(1≤i, j≤k),不成立UiUj
R(U,F)
U=U1∪U2∪…∪Uk Fi是F在Ui上的投影
ρ
2021/3/13
= {R1(U1,F1),R2(U2,F2),…,Rk(Uk,Fk)}
A1
…
Aj
…
An
R1
…
Aj在Ri中, aj
Ri
s[i,j]
…
Aj不在Ri中, bij
Rk
2021/3/13
2、算法5.2 判断一个分解的无损联接性(续2)
• (2)依据函数依赖集F进行修正:X→Y
FD的选择顺序可随意
…
X
…
Y
…
R1 …
Ri
…
若Y值中有 aj,其它也改为aj
Rk
若Y值中无 aj,其它改为bij(下标小)
2021/3/13
2、算法5.2 判断一个分解的无损联接性
• 输入:关系模式R(A1,…,An),
•
函数依赖集F,
•
R的一个分解ρ=(R1,…,Rk)。
• 输出:ρ是否为无损联接的判断。
• 方法:
2021/3/13
2、算法5.2 判断一个分解的无损联接性(续1)
• (1)构造一个k行n列表S,其中:
第二步:修正④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
第二步:修正③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
2021/3/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)},检验分解ρ是否具有无损联接性。