Chapter6 关系规范化理论(2)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2讲函数依赖的公理体系第6章关系数据库模式设计主要内容阿姆斯特朗公理及推论X关于F的闭包及其计算最小函数依赖集候选键的求解方法一、阿姆斯特朗公理及推论是一系列推理规则最早出现在1974年W.W.Armstrong的论文里F=X→YF+侯选键X→Y在R中是否成立能从F导出的所有X→Y推导工具?问题引入:1、阿姆斯特朗公理设有关系模式R(U,F),U={A1,A2,…,An}是R的属性集,F是R的属性集U上的FD集,X、Y、Z、W是U的子集。阿姆斯特朗公理为:A1自反律:若YX,则XYA2增广律:若XY,则XZYZA3传递律:若XY,YZ,则XZArmstrong公理是正确的。方法:从函数依赖的定义出发A1自反律:若YX,则XY证:设u、v为r的任意两个元组。若u[X]=v[X],则u和v在X的任何子集上必然相等。由条件YX,所以有:u[Y]=v[Y],由u、v的任意性,并根据函数依赖的定义,可得XY。2、定理5.13、阿姆斯特朗公理的推论合并规则:若XY且XZ,则XYZ分解规则:若XY,且ZY,则XZ伪传递规则:若XY且WYZ,则WXZ增广律传递律证:XYWX→ZWX→WYWY→Z作用:将一个FD分解成若干个右边是单属性的FD。用于确定关系的主键。4、定理6.2如果Ai(i=1,…,n)是关系模式R的属性,则XA1A2…An成立的充分必要条件是XAi(i=1,…,n)均成立。二、X关于F的闭包及其计算例:已知关系模式R(A,B,C),其函数依赖集为F={A→B,B→C},求函数依赖集F的闭包F+。F+=A→,AB→,AC→,ABC→,B→,C→A→A,AB→A,AC→A,ABC→A,B→B,C→CA→B,AB→B,AC→B,ABC→B,B→C,A→C,AB→C,AC→C,ABC→C,B→BC,A→AB,AB→AB,AC→AB,ABC→AB,BC→,A→AC,AB→AC,AC→AC,ABC→AC,BC→B,A→BC,AB→BC,AC→BC,ABC→BC,BC→C,A→ABC,AB→ABC,AC→ABC,ABC→ABC,BC→BC,1、X关于F的闭包设有关系模式R(U,F)和属性集U={A1,A2,…,An}的子集X。则称所有用阿姆斯特朗公理从F推导出的函数依赖X→Ai的属性Ai组成的集合称为X关于F的闭包,记为XF+,通常简记为X+。即XF+={Ai|用公理从F推出的X→Ai}集合元素对比F+和X+设有关系模式R(U,F),U={A1,A2,…,An}是R的属性集,F是R的属性集U上的函数依赖集,X、Y是U的子集,则XY能用Armstrong公理从F导出YX+。该定理把判定XY是否能由F根据Armstrong公理导出的问题求出X+,判定Y是否为X+的子集的问题。2、定理6.3算法6.1求属性集X关于函数依赖集F的闭包X+输入:关系模式R的全部属性集U,U上的函数依赖集F,U的子集X。输出:X关于F的闭包X+。计算方法:3、X关于F的闭包X+的计算(1)X(0)=X。(2)从F中找出满足条件VX(i)的所有函数依赖V→W,并把所有的V→W中的属性W组成的集合记为Z;也即从F中找出那些其决定因素是X(i)的子集的函数依赖,并把由所有这样的依赖的被决定因素组成的集合记为Z。(3)若ZX(i),则转(5)。(4)否则,X(i+1)=X(i)Z,并转(2)。(5)停止计算,输出X(i),即为X+。3、X关于F的闭包X+的计算(续)例6.4已知R(U),U={A,B,C,D,E,G},R上的FD集F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},X=BD,求X+,BD→A是否成立?(1)X(0)=BD。(2)X(1)=BDEG(3)X(2)=BCDEG(4)X(3)=ABCDEGX+=ABCDEGA∈BD+,故BD→A成立4、举例Z=EGBD=X(0)一个函数依赖集F的闭包F+通常包含很多函数依赖,有些函数依赖是无意义的,如平凡的函数依赖,还有一些是可以推导出的,即无关的函数依赖。如果将每一个函数依赖看作是对关系的一个约束,要检查F+中的每一个函数依赖对应的约束,显然是一件很繁重的任务。如果能找出一个与F等价的、包含较少数目函数依赖的函数依赖集G,则可以简化此工作。最小函数依赖集的概念由此而提出。三、最小函数依赖集定义6.5设F和G是两个函数依赖集,如果F+=G+,则称F和G等价。如果F和G等价,则称F覆盖G,同时也称G覆盖F。1、函数依赖集的等价与覆盖定理6.7F+=G+的充要条件是FG+和GF+。F+=G+FG+X→Y所有FG+定理GF+X→Y能否由G根据公理导出?YXG+?作用:任一函数依赖集都可转化成由右端只有单一属性的依赖组成的集合。该结论是最小函数依赖集的基础。推论每一个函数依赖集F都被其右端只有一个属性的函数依赖组成的依赖集G所覆盖。满足下列条件的函数依赖集F称为最小函数依赖集。①F中每一个FD的右端都是单个属性;②对F中任何FD:XA,F-{XA}不等价于F;③对F中的任何FD:XA和X的任何真子集Z,(F-{XA})∪{ZA}不等价于F。2、最小函数依赖集F没有多余的FD每个FD左端无多余的属性求解方法(1)用分解规则将F中的所有函数依赖分解成右端为单个属性的函数依赖;Armstrong公理的推论分解规则:若XY,且ZY,则XZ求解方法(续一)(2)去掉F中冗余的函数依赖对于F中任一FD:XY①G=F-{XY};②求X关于G的闭包XG+;③看XG+是否包含Y。如果XG+包含Y,则在G中逻辑蕴涵XY,说明XY是多余的函数依赖,所以F=G;如果X+不包含Y,则保留XY。求解方法(续二)(3)去掉左端多余的属性对于F中左端是非单属性的函数依赖(XYA),假设要判断Y是否是多余的属性①G=(F-{XYA})∪{XA};②求X关于F的闭包XF+;③如果A不属于XF+,则XA不在F+中,说明Y不是多余的属性,接着判别X是否是多余的属性;如果A属于XF+,则说明Y是多余的属性,F=G。ABC,CA,BCD,ACDB,DEG,BEC,CGBD,CEAGF=ABC,CA,BCD,ACDB,DE,DG,BEC,CGB,CGD,CEA,CEG①F1=例6.5:求函数依赖集F的最小函数依赖集法1:3、举例②F21=ABC,CA,BCD,ACDB,DE,DG,BEC,CGB,CGD,CEA,CEG①F1=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEA,CEG3、举例(续一)例6.5:求函数依赖集F的最小函数依赖集②F22=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEA,CEG②F21=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEG3、举例(续二)例6.5:求函数依赖集F的最小函数依赖集ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEG②F22=③F3=ABC,CA,BCD,CDB,DE,DG,BEC,CGD,CEG3、举例(续三)例6.5:求函数依赖集F的最小函数依赖集②F21=ABC,CA,BCD,DE,DG,BEC,CGB,CEGABC,CA,BCD,ACDB,DE,DG,BEC,CGBCGD,CEA,CEG①F1=3、举例(续四)例6.5:求函数依赖集F的最小函数依赖集法2:四、候选键的求解方法1、属性分类对于给定的关系R(U)和函数依赖集F,可将其属性分为4类:①L类:仅出现在F的函数依赖左部的属性;②R类:仅出现在F的函数依赖右部的属性;③N类:在F的FD左右两边均未出现的属性;④LR类:在F的FD左右两边均出现的属性。四、候选键的求解方法2、快速求解候选键的一个充分条件(1)若X是L类属性,则X必为R的某一候选键的成员;(2)若X是L类属性,且X+包含了R的全部属性,则X必为R的唯一候选键;(3)若X是R类属性,则X不是任一候选键的成员;(4)若X是N类属性,则X必包含在R的某一候选键中;(5)若X是R的N类属性和L类属性组成的属性集,且X+包含了R的全部属性,则X是R的唯一候选键。四、候选键的求解方法3、候选键的一般求解方法①将所有属性分为L、R、N和LR四类,并令X代表L和N类,Y代表LR类;②求XF+:若XF+包含了R的全部属性,则X是R的唯一候选键,转⑧;③在Y中取一属性A,并求(XA)F+:若(XA)F+包含了R的全部属性,则XA为的一个候选键;④重复③,直到Y中的属性依次取完为止;⑤从Y中除去所有已成为主属性的属性A;四、候选键的求解方法3、候选键的一般求解法⑥在剩余的属性中依次取两个属性、三个属性,…,将其记为集合B,并求(XB)F+:若(XB)F+包含了R的全部属性,且自身不包含已求出的候选键,则XB为R的一个候选键;⑦重复⑥,直到Y中的属性按⑥的组合依次取完为止;⑧输出候选键,算法结束。R的候选键:A、E、BC和CD四、候选键的求解方法3、候选键的一般求解法例:设有关系模式R(A,B,C,D,E),R的函数依赖集F={ABC,CDE,BD,EA},求R的所有候选键。均为LR类,令Y=ABCDE。A+=ABCDEE+=ABCDEBC+=ABCDECD+=ABCDEX→Y是否能从F导出Armstrong公理及推论小结YX+求X+求最小FD集FD右边单属性无多余FDFD左边无多余属性F+=G+候选键L类、N类、LR类

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功