第13讲模式分解ppt课件.ppt
《第13讲模式分解ppt课件.ppt》由会员分享,可在线阅读,更多相关《第13讲模式分解ppt课件.ppt(65页珍藏版)》请在三一办公上搜索。
1、,第5章 关系模式的规范化设计模式分解,2,关系模式的规范化设计,所要解决的问题什么是“好”的关系数据模式如何评价一个好的关系数据模式如何设计一个“好”的关系数据模式,3,关系模式的规范化设计,主要内容关系模式的设计问题关系模式规范化的基本概念和理论关系模式分解的理论基础和算法,4,回顾,1NF,2NF,3NF,BCNF,去除非主属性对于候选键的部分函数依赖,去除非主属性对于候选键的传递函数依赖,去除主属性对于候选键的部分和传递函数依赖,去除不被候选键所蕴涵的非平凡的多值依赖,4NF,5,Armstrong公理系统逻辑蕴涵 Armstrong公理系统推理规则 FD的逻辑蕴涵 函数依赖集F 的闭
2、包F+ 属性集闭包 函数依赖集等价和最小函数依赖集 候选码及其求解方法,回顾,6,主要内容模式分解的概念分解的无损连接性和保持函数依赖性 模式分解算法,模式分解,7,分解的概念 设有一关系模式R(U,F),若用一关系模式的集合= R1(U1,F1),R2(U2,F2),Rn(Un,Fn) 来取代,其中U=Ui,并且没有UiUj,1i, jn,Fi是F在Ui上的投影。则关系模式的集合为R的一个分解 = R1,R2,Rn,模式分解的概念,8,分解的概念F在Ui上的投影 Fi =XY | XYF+XY Ui ,模式分解的概念,思考: 设有关系模式R(A,B,C,D),F是R上成立的FD集F=ABC,
3、DB ,则 F在模式ACD上的投影为_;F在模式AC上的投影为_。,ADC,空,9,分解的概念,模式分解的概念,【例】R(编号,连队,连长,科目,成绩), F= 编号连队,连队连长,(编号,科目)成绩 ,【例】R(学生学号,学生姓名,所在系,系主任,课程名称,成绩 , F=学生学号学生姓名,学生学号所在系,所在系系主任,(学生学号,课程名称)成绩,10,分解的概念,模式分解的概念,1NF,2NF,3NF,去除非主属性对于键的部分函数依赖,去除非主属性对于键的传递函数依赖,R(学生学号,学生姓名,所在系,系主任,课程名称,成绩 ),R1(学生学号,课程名称,成绩) R2(学生学号,学生姓名, 所
4、在系,系主任),R1(学生学号,课程名称,成绩) R3(学生学号,学生姓名, 所在系)R4(所在系,系主任),11,分解的概念,模式分解的概念,R( 学生学号,学生姓名,所在系,系主任,课程名称,成绩 学生学号学生姓名,学生学号所在系,所在系系主任,(学生学号,课程名称)成绩,1= R1 (学生学号,课程名称,成绩, (学生学号,课程名称)成绩) , R3 (学生学号,学生姓名,所在系, 学生学号学生姓名,学生学号所在系) , R4 (所在系,系主任, 所在系系主任),12,分解的概念,模式分解的概念,R( 学生学号,学生姓名,所在系,系主任,课程名称,成绩 学生学号学生姓名,学生学号所在系,
5、所在系系主任,(学生学号,课程名称)成绩,2=R1(学生学号), R2(学生姓名), R3(所在系), R4(系主任), R5(课程名称), R6(成绩) U=Ui,并且没有UiUj,1i, jn Fi是F在Ui上的投影不存在非平凡的函数依赖。,不具有无损连接性,13,分解的概念,模式分解的概念,R( 学生学号,学生姓名,所在系,系主任,课程名称,成绩 学生学号学生姓名,学生学号所在系,所在系系主任,(学生学号,课程名称)成绩,3= R1 (学生学号,课程名称,成绩, (学生学号,课程)成绩) , R2 (学生学号,学生姓名,所在系, 学生学号学生姓名,学生学号所在系) , R3 (学生学号,
6、系主任, 学生学号系主任) U=Ui,并且没有UiUj,1i, jn Fi是F在Ui上的投影。,没有保持函数依赖,14,分解的概念一个关系模式的分解并不是唯一的。理想的分解应该是既具有无损连接性又保持函数依赖,这样的分解是等价分解。等价分解分解具有无损连接性,即数据等价分解保持函数依赖,即语义等价分解既具有无损连接性又保持函数依赖,即数据等价并且语义等价,模式分解的概念,15,无损连接分解,无损连接分解设= R1(U1,F1),Rk(Uk,Fk)是R(U,F)的一个分解,r是R(U,F)的一个关系,则 Ri (r)=t.Ui|tr为r在子模式Ri上的投影, m(r)=R1(r)R2(r) Rk
7、(r)是r在中各关系模式上投影的连接。若对R的任何一个关系r均有r= m(r)成立,则称分解具有无损连接性。,分解是无损分解,16,算法:检验一个分解是否是无损分解输入: 关系模式R(U,F), U=A1,A2 ,An; R上的分解= R1(U1,F1), R2(U2,F2), ,Rk(Uk,Fk) 。 设F是最小函数依赖集。输出: 判断相对于F是否具有无损分解特性。,无损连接分解,17,无损连接分解,检验一个分解是否无损的算法步骤,1)建立一张k行n列的表,每行对应分解中的一个关系模式Ri,每列对应一个属性Aj,若属性AjUi,则在i行j列处填aj,否则填bij。,A1U1,An Uk,18
8、,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,初始状态,1)建立一张k行n列的表,每行对应分解中的一个关系模式Ri,每列对应一个属性Aj,若属性AjUi,则在i行j列处填aj,否则填bij。,19,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,初始状态,
9、2)把表格看成模式R的一个关系,反复检查F中的每个函数依赖在表格中是成立,若不成立,则修改表格中的值。,20,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,初始状态,2)对每一形如XY 的FD做如下操作: 检查X中的属性所对应的列,找出X相等的行,将这些行中对应的Y中的属性列所对应的符号改为一致。即若其中之一为aj,则都改成aj;否则,将其都改成这些列中行号最小的符号bij。,对F的一次扫描,21,无损连接分解,【例】设有关
10、系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,AC,22,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,AC,23,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,
11、R5(AE)是R的一个分解。试判断是否为无损分解。,ACBC,24,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBC,25,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCD,26,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE
12、,F=AC,BC,CD,DEC,CEA。 =R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCD,27,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCDDEC,28,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。 =R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(A
13、E)是R的一个分解。试判断是否为无损分解。,ACBCCDDEC,29,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCDDECCEA,30,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCDDECCEA,31,无损连接分解,【例】设有关系模
14、式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。 =R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,ACBCCDDECCEA,32,无损连接分解,【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,3)若表有变化,则返回步骤2),否则算法终止。 若某次修改后,有一行全为a1,a2,an,则算法结束。,33,无损连接分解,【例】设有关系模式R(U,F),U=
15、ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。,定理: 为无损连接分解的充分必要条件是算法终止时,表中有一行为a1,a2,an。,34,判断一个关系模式分解成两个关系模式是否为无损分解的方法定理: 设=R1(U1),R2(U2)是R(U)的一个分解,则为无损分解的充分必要条件为 (U1U2)(U1-U2)F+ 或 (U1U2)(U2-U1)F+,无损连接分解,35,无损连接分解,证明:用检验分解无损算法构造的如下初始表。表中a和b的下标都已省略充分性 因为(U1U2)(U1-
16、U2),则算法8-2终止时,对应于(U1-U2)的bbb全为a,因此,=R1(U1),R2(U2)是R(U)的一个无损连接分解。必要性 若=R1(U1),R2(U2)是R(U)的一个无损连接分解,则算法终止时,表中必有一行全为a,假设R1行全为a,则(U1-U2)所对应的元素都应变为a。由于在表中,只有(U1U2)所对应的列的元素相同。设U1-U2中有一个属性Ai,则根据算法将Ai所对应的元素都改为a,则必有SAiF+,且S(U1U2)。根据自反律有(U1U2)S;根据传递律有(U1U2)Ai,即Ai(U1U2)+。所以(U1-U2) (U1U2)+ 即(U1U2) (U1U2)是(U1U2)
17、所对应的元素都变为a的必要条件。,36,【例5-13】 设有关系模式R(U,F),U=A,B,C,D,E,F=A BC,CDE,B D,E A 。 R的两个分解为1= R1(A,B,C),R2(A,D,E),2=R1(A,B,C),R2(C,D,E)。试判断1、2是否为无损分解。,无损连接分解,解:对于分解1= R1(A,B,C),R2(A,D,E) 因为U1U2=A,U1-U2=BC,且A BCF 所以U1U2U1-U2,1为无损分解。 对于分解2= R1(A,B,C),R2(C,D,E) 因为U1U2=C,U1-U2=AB,U2-U1=DE, 且C AB F+ ,C DE F+ (如何来判
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13 模式 分解 ppt 课件
链接地址:https://www.31ppt.com/p-1428324.html