资源描述:
《《关系模式分解》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3讲关系模式的分解第5章关系数据库模式设计主要内容模式分解无损联接分解保持函数依赖集ρR(U,F)U=U1∪U2∪…∪Uk对于任意的i,j(1≤i,j≤k),不成立UiUjFi是F在Ui上的投影={R1(U1,F1),R2(U2,F2),…,Rk(Uk,Fk)}R(U,F)的一个分解也称数据库模式一、模式分解1、分解定义设有关系模式R(U,F),F是R的函数依赖集,Z是U的子集,则把F+中所有满足XYZ的函数依赖X→Y组成的集合,称为依赖集F在属性集Z上的投影,记为πZ(F):πZ(F)={X→Y
2、X→Y∈F+且XYZ}2、F在Ui上的投影两个问题:思考:R(U)R1(U1),R2
3、(U2),…,Rk(Uk)FF1,F2,…,Fk数据等价依赖(语义)等价无损联接保持依赖二、无损联接分解二、无损联接分解1、定义设有关系模式R(U,F),ρ=(R1,R2…,Rk)是R的一个分解。如果对于R的任一满足F的关系r,把r在ρ上的投影的联接表达式记为:m(r)=πR1(r)∞πR2(r)∞…∞πRk(r)如果r=m(r)成立,则称这个分解ρ是满足依赖集F的无损联接分解。输入:关系模式R(A1,…,An),函数依赖集F,R的一个分解ρ=(R1,…,Rk)。输出:ρ是否为无损联接的判断。方法:2、算法5.2判断一个分解的无损联接性A1…Aj…AnR1…Ri…Rks[i,j]Aj在
4、Ri中,ajAj不在Ri中,bij(1)构造一个k行n列表S,其中:2、算法5.2判断一个分解的无损联接性(续1)(2)依据函数依赖集F进行修正:X→Y…X…Y…R1…Ri…Rk若Y值中有aj,其它也改为aj若Y值中无aj,其它改为bij(下标小)FD的选择顺序可随意2、算法5.2判断一个分解的无损联接性(续2)…X…Y…R1…Ri…Rka1ana2……分解ρ具有无损联接性(3)判断条件:2、算法5.2判断一个分解的无损联接性(续3)ABCDER1a1b12b13a4b15R2a1a2b23b24b25R3b31a2b33b34a5R4b41b42a3a4a5R5a1b52b53b54a5
5、第一步:构造表S例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→CABCDER1a1b12b13a4b15R2a1a2b23b24b25R3b31a2b33b34a5R4b41b42a3a4a5R5a1b52b53b54a5例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→CA
6、BCDER1a1b12b13a4b15R2a1a2b13b24b25R3b31a2b33b34a5R4b41b42a3a4a5R5a1b52b13b54a5例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→CABCDER1a1b12b13a4b15R2a1a2b13b24b25R3b31a2b33b34a5R4b41b42a3a4a5R5a1b52b13b54a5例5.7设R(ABCDE),F={A→C,B→C,C→D,DE→C,CE
7、→A},ρ={R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE)},检验分解ρ是否具有无损联接性。第二步:修正②B→CABCDER1a1b12b13a4b15R2a1a2b13b24b25R3b31a2b13b34a5R4b41b42a3a4a5R5a1b52b13b54a5例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→DABCDER1a1b12b13a4b15R2a1a2b13b24b25R3b31a2b13
8、b34a5R4b41b42a3a4a5R5a1b52b13b54a5例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→DABCDER1a1b12b13a4b15R2a1a2b13a4b25R3b31a2b13a4a5R4b41b42a3a4a5R5a1b52b13a