数据库范式与关系模式示例

上传人:痛*** 文档编号:87083265 上传时间:2022-05-09 格式:DOC 页数:21 大小:204.50KB
返回 下载 相关 举报
数据库范式与关系模式示例_第1页
第1页 / 共21页
数据库范式与关系模式示例_第2页
第2页 / 共21页
数据库范式与关系模式示例_第3页
第3页 / 共21页
点击查看更多>>
资源描述
-第七章 补充讲义一、 式举例例1:R,请问R为几式? 零件号单价P125P28P325P49BF。25改成15还是BF.如:课程号与*例2:R,请问R为几式? 材料号材料名生产厂M1线材M2型材M3板材M4型材2NF。有局部依赖。例3:R,请问R为几式?ADEA1D1E2A2D6E2A3D4E3A4D4E4BF。例4:R(*,Y,Z),F=*Y-Z,R为几式? BF。例5:R(*,Y,Z),F=Y-Z,*Z-Y,R为几式? 3NF。R的候选码为*Z,*Y,R中所有属性都是主属性,无传递依赖二、 求闭包数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规的直观问题好办,复杂问题难办了,所以,这对分析数据模型,到达规化设计要求,还有差距,为此,从规数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规化程度。例1 关系模式R(U、F),其中,U=A,B,C,D,E; F=AB C, B D, EC B , ACB ,求AB+F.解:设*(0)=AB计算*(1),在F中找出左边为AB子集的FD,其结果是:ABC,BD*(1)=*(0)UB=ABUCD=ABCD 显然,*(1)*(0)计算*(2),在F中找出左边为ABCD子集的FD,其结果是:CE,ACB*(2)=*(1)UB=ABCDUBE=ABCDE 显然,*(2)=U所以,AB+ F=ABCDE.等于U,所以AB是唯一候选关键字例2设有关系模式R(U、F),其中U=A,B,C,D,E,I;F=AD,ABE,BE,CDI,EC,计算AE+解:令*=AE,*(0)=AE在F中找出左边是AE子集的FD,其结果是:AD,EC*(1)=*(0)UB=*(0)UDC=ACDE 显然,*(1)*(0) 在F中找出左边是ACDE子集的FD,其结果是:CDI*(2)=*(1)UI=ACDEI显然 ,*(2)*(1),但F中未用过的函数依赖的左边属性已含有*(2) 的子集,所以不必再计算下去,即AE+=ACDEI.因为,*3*2 ,所以,算法完毕。三、 求最小依赖集最小依赖集是对函数依赖集合进展规的结果,这样才能对一般关系模式进展准确分析。例1 设函数依赖集F=ABCE,AC,GPB,EPA,CDEP,HBP,DHG,ABCPG,求与F等价的最小函数依赖集。 解:将F中依赖右部属性单一化:F1= AB C ABE HBP AC DH GPB DG EPA ABCP CDEP ABCG由于有AC,所以ABC为多余成份:所以F2= ABE HBP AC DH GPB DG EPA ABCP CDEP ABCG经过分析认为F2中无多余依赖,则:Fmin=F2为最小函数依赖集。即Fmin= ABE ,HBP, AC ,DH, GPB ,DG, EPA , ABCP,CDEP,ABCG.例2 F=AB,BA,BC,AC,CA,求Fmin.解:F1= AB AC B A BCC AFmin1= AB AC BA CA Fmin2= AB CA BC例3 F=AC,CA,BAC,DAC,求Fmin。 解:将F中依赖的右部属性单一化: F1= AC CA BA BC DA DC由于BA,AC,所以 BC是多余成份。 又由于DA,AC,所以DC是多余成份。 所以 F2= AC CA BA DA 因为F2中所有依赖的左部都是单属性,所以不存在依赖左部的有多余属性。 所以 Fmin AC CA BA DA 即FminAC,CA, BA ,DA.例4 设有关系模式R(U,F),其中:U=E,F,G,H,F=EG,GE,FEG,HEG,FHE,求F的最小依赖集。 解:将F中依赖右部属性单一化: F1= EG HE GE HG FE FH E FG由于有FE,FHE为多余成份:不是因为有HE,而是,F后面加一个H和不加一样 所以 F2= EG HE GE HG FE FG 由于F2中,FE和FG以及HE和HG之一为多余,则: Fmin1EG,GE,FG,HGFmin2EG,GE,FE,HE Fmin3,Fmin4同理。四、求候选码1. 候选关键字求解理论 对于给定的关系RA1,A2,An和函数依赖集F,可将其属性分为四类:l L类:仅出现在F的函数依赖左部的属性l R类:仅出现在F的函数依赖右部的属性l N类:在F的函数依赖左右两边均未出现的属性l LR类:在F的函数依赖左右两边均出现的属性定理1:对于给定的关系模式R及其函数依赖集F,假设*(*R)是L类属性,则*必为R的任一候选关键字成员。推论1:对于给定的关系模式R及其函数依赖集F,假设*(*R)是L类属性,且*包含了R的全部属性,则*必为R的唯一候选关键字。定理2:对于给定的关系模式R及其函数依赖集F,假设*(*R)是R类属性,则*不在任何候选关键字中。定理3:设有关系模式R及其函数依赖集F,假设*是R的N类属性,则*必包含在R的任一候选关键字中。推论2:对于给定的关系模式R及其函数依赖集F,假设*是R的N类和L类组成的属性集,且*+包含了R的全部属性,则*必为R的唯一候选关键字。2. 单属性依赖集图论求解法多属性不行 I:关系模式R,R的单属性函数依赖集F。 O:R的所有候选关键字。 算法:求F的最小依赖集Fmin。构造FDG(函数依赖图)。从图中找出关键属性集*可为空。查看G中有无独立回路,假设无则输出*即为R的唯一候选关键字,转,假设有,则转。从各独立回路中各取一结点对应的属性与*组合成一候选关键字,并重复这一过程取尽所有可解的组合,即为R的全部候选关键字。完毕。3多属性依赖集候选关键字求解法 I:关系模式R及其函数依赖集F。 O:R的所有候选关键字。 算法:将R的所有属性分为L,R,N和LR四类,并令*代表L,N两类,Y代表LR类。求*+,假设*包含了R的全部属性,则*即为R的唯一候选关键字,转,否则,转。在Y中取一属性A,求(*A)+.假设它包含了R的全部属性,则转,否则,调换一属性反复进展这一过程,直到试完所有Y中的属性。假设已找出所有候选关键字,则转,否则在Y中依次取2个,3个,求它们的属性闭包,直到其闭包包含R的全部属性。停顿,输出结果。例1设R(O,B,I,S,Q,D),F=SD,DS,IB,BI,BO,OB,求R的所有候选关键字。 解:Fmin SD,DS,IB,BI,BO,OB.构造FDG.SDBIOQ关键属性集Q. 原始点和孤立点统称关键点。有两个独立回路,SDS,IBOBI.所以 R的所有候选关键字为:QSI,QSB, QSO,QDI,QDB,QDO.例2. 设R=*,Y,Z,F=*Y,Y*,求R的所有候选关键字。 解:Fmin=*Y,Y*。构造FDG*YZ关键属性Z.有1个独立回路,1.候选关键字个数各独立回路中结点个数乘积21个回路,2个结点。2.候选关键字所含属性个数关键属性个数独立回路个数112。所以R的所有候选关键字为:Z*,ZY.例3 设有关系模式R(A,B,C,D),其函数依赖集FDB,BD,ADB,ACD,求R的所有候选关键字。解:经考虑F发现,A,C两属性是L类属性,由定理知,AC必是R的一候选关键字字成员。又因AC+=ABCD,所以AC是R的唯一候选关键字。例4 设有关系模式R(A,B,C,D,E,P),F=AD,ED,DB,BCD,DCA,求R的所有候选关键字。解:经考察发现,C,E两属性是L类属性,故C,E必在R的任何候选关键字中,又P是N类属性,故P也必在R的任何候选关键字中。又因CEP+=ABCDEP 所以CEP是R的唯一候选关键字。五、模式分解对存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进展处理。在分解处理中会涉及一些新问题,为使分解后的模式保持原模式所满足的特性,要求分解处理具有无损联接性和保持函数依赖性。即分解后的关系模式子集,应能通过自然连接运算恢复原状。1、关系模式规化时一般应遵循以下原则:(1) 关系模式进展无损连接分解。关系模式分解过程中数据不能丧失或增加,必须把全局关系模式中的所有数据无损地分解到各个子关系模式中,以保证数据的完整性。(2) 保持原来模型的函数依赖关系。因为这些函数依赖关系是数据模型反映的客观事物的固有属性,一般是不能舍弃的。(3) 合理选择规化程度。考虑到存取效率,低级模式造成的冗余度很大,既浪费了存储空间,又影响了数据的一致性,因此希望一个子模式的属性越少越好,即取高级式;假设考虑到查询效率,低级式又比高级式好,此时连接运算的代价较小,这是一对矛盾,所以应根据情况,合理选择规化程度。2、对模式分解的两个根本要求:模式分解可以提高关系模式的规化程度,但是必须考虑如下问题: 防止信息丧失:简单的说,就是模式R分解为R1,R2,Rn后,将R1,R2,Rn自然连接还应该等于模式R。这就是“无损失联接准则。 防止数据关系丧失:简单地说,就是模式R分解为R1,R2,Rn后,函数依赖集合F也被对应分解为F1,F2,Fn,应满足F与各Fii=1,2,n的并集等价,即满足F+=UFi + 。这就是“保持函数依赖准则。关系模式的规化过程是通过对关系模式的分解来实现的,但是把低一级的关系模式分解为假设干个高一级关系模式的方法并不是唯一的。在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才有意义。3、关系模式分解的三个定义:(1)分解具有“无损联接性。(2)分解要“保持函数依赖。(3)分解既要“保持函数依赖性,又要具有“无损连接性。规化理论提供了一套完整的模式分解算法,按照这套算法可以做到:假设要求分解具有无损联接性,则模式分解一定能够到达4NF。假设要求分解保持函数依赖,则模式分解一定能够到达3NF,但不一定能到达BF。假设要求分解具有无损联接性又保持函数依赖,则模式分解一定能够到达3NF,但不一定能到达BF。我们希望最好能够既要“保持函数依赖,又要具有“无损联接性,从上面结论可以看到只能到达3NF,至于能否到达BF或更高,要看具体情况。这就是在数据库设计中一般采用“基于3NF的数据设计方法的根本原因。4、模式设计方法的原则:关系模式R相对于函数依赖集F分解成=R1,R2,Rk,应具有以下特性:(1) 中每个关系模式Ri上应有*种式性质3NF或BF(2) 无损联接(3)保持函数依赖集(4)最小性中模式个数应最少和模式中属性总数应最少一个好的设计方法应符合以下3个原则:表达性,别离性,最小冗余性。5、模式分解的算法:算法一:把关系模式无损分解成BF输入:关系模式R和函数依赖集F输出:R的一个无损分解=R1,R2,Rk方法:设关系模式RU,F1置初值:=R。2对于关系模式R的分解初始时=R,如果中有一个关系模式Ri相对于RiF不是BF。由定义可知,Ri中存在一个非平凡FD *Y,有*不包含码。此时把Ri分解成*Y和Ri-Y两个模式。重复上述过程,一直到中每一个模式都是BF。(3) 算法完毕,就是分解结果。例1:RU,F,U=ABCDE F=ABC,BD,DE,码是AB。 分解过程如下:1先分出DE,=R1ABCD,R2DE2再从R1中分出BD,=R1ABC,R2DE,R3BD3R1,R2,R3都属于BF,分解完成。例2:设有关系模式RU,F,其中: U=C,T,H,R,S,G F=CSG,CT,THR,HRC,HSR 将其无损联接地分解为BF。 解:R上只有一个侯选键HS。1令=CTHRSG。2中的模式不是BF。3考虑CSG,这个函数依赖不满足BF条件CS不包含侯选键HS,将CTHRSG分解为CSG和CTHRS。计算CSGF和CTHRSF,前者的最小覆盖是:CSG;后者的最小覆盖是:CT,HRC,THR,HSR。模式CTHRS的侯选关键字是HS。CSG已是BF,进一步分解CTHRS。选择CT,把CTHRS分解成CT和CHRS,计算CTF和CHRSF,前者的最小覆盖是:CT;后者的最小覆盖是:HCR,HSR,HRC。模式CHRS的侯选关键字是HS。CT已是BF,再分解CHRS。选择HCR,把CHRS分解成CHR和CHS,计算CHRF和CHSF,前者的最小覆盖是:CHR,HRC;后者的最小覆盖是:HSC。这时CHR和CHS均为BF。4=CSG,CT,CHR,CHS。(HSR,HSHR HRC =HSC)算法二:把一个关系模式分解为3NF,使它具有依赖保持性。输入:关系模式R和R的最小依赖集Fmin。输出:R的一个分解=R1,R2,Rk,Ri为3NFi=1,k,具有依赖保持性。到达3NF保持函数依赖分解的方法:设关系模式RU,F:1将F化为最小函数依赖集,令F=Fmin。2把在F中不出现的属性从U中去掉,属性集合仍然为U。3对照F中的函数依赖集,将所有函数依赖左端一样的划为一组,相应的右端以及函数依赖均归入该组。4这些分组就是分解后的模式组成。5这种分解方法得到的就是到达3NF且保持函数依赖的分解。例1:F=BG,CEB,CA,CEG,BD,CD,码是CE,分解成三个模式。R1:U1=BDG,F1=BG,BDR2:U2=ACD,F2=CA,CDR3:U3=BCEG,F3=CEB,CEG分解后,R1,R2,R3均到达3NF,且分解符合保持函数依赖的规则。例2: 设有关系模式RU,F,其中:U=C,T,H,R,S,G F=CSG,CT,THR,HRC,HSR,将其保持依赖性分解为3NF。解:1求出F的最小依赖集,Fmin=CSG,CT,THR,HRC,HSR。 2无。 3R1:U1=CSG,F1=CSG U2=CT, F2=CT U3=THR,F3=THR U4=HRC,F4=HRC U5=HSR,F5=HSR(4) =CSG,CT,THR,HRC,HSR算法三:把一个关系模式分解为3NF,使它既具有无损联接性又具有依赖保持性。设关系模式RU,F:对于关系模式R和R上成立的FD集F,先求出F的最小依赖集,然后再把最小依赖集中那些左部一样的FD用合并性合并起来。对最小依赖集中,每个FD *Y去构成一个模式*Y。在构成的模式集中,如果每个模式都不包含R的候选键,则把候选键作为一个模式放入模式集中。这样得到的模式集是关系模式R的一个分解,并且这个分界既是无损分解,又能保持FD。检验无损联接性的方法:输入:关系模式RA1,A2,An,它的函数依赖集F以及分解=R1,R2,Rk。输出:确定是否具有无损联接性。设关系模式RU,F:(1) 构造一个k行n列的表,假设i行对应于关系模式Ri,第j列对应于属性Aj。如果AjRi,则在第i行第j列上放符号aj,否则放符号bij。(2) 逐个检查F中的每一个函数依赖,并修改表中的元素。其方法如下:取F中一个函数依赖*Y,在*的分量中寻找一样的行,然后将这些行中Y的分量改为一样的符号,如果其中有aj,则将bij改为aj;假设其中无aj,则改为bij。这样反复进展,如果发现*一行变成了a1,a2,ak,则分解具有无损联接性;如果F中所有函数依赖都不能再修改表中的容,且没有发现这样的行,则分解不具有无损联接性。例1:对于上例的关系模式RU,F,将其无损联接性和依赖保持性分解为3NF。解:依据算法:(1) 由上例求出依赖保持性分解为:=CSG,CT,THR,HRC,HSR(2) 判断其无损联接性如以下图所示: RiCTHRSGCSGa1b12b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b36HRCa1b42a3a4b45b46HSRb51b52a3a4a5b56(在F=CSG,CT,THR,HRC,HSR看CS上一样的,再改G的成分没有看C上一样的,再改T的成分2个a2看TH上一样的,再改R的成分没有看HR上一样的,再改C的成分2个a1看HS上一样的,再改R的成分没有再看CS上一样的,再改G的成分有一个a6看C上一样的,再改T的成分有一个a2 ,其它未发生变化,略RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRa1a2a3a4b35b36HRCa1a2a3a4b45b46HSRa1a2a3a4a5a6RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b36HRCa1a2a3a4b45b46HSRa1a2a3a4a5a6(3) 不执行。(4 由于表中有一行从a1,a2,a6全满,由此可知,具有无损联接性,输出=CSG,CT,THR,HRC,HSR。例2 :,U=A,B,C,D,F= AB,A-C,BCD,D-A 判断一个分解=AB,AC,BCD,DA是否具有无损联接性。RiABCDABa1a2b13b14ACa1b22a3a4BCDb41a2a3a4DAa1b42b43a4由于,AB , b22a2, b42a2A-C , b13a3 , b23a3 , b43a3BCD , b14a4D-A , b41a1RiABCDABa1a2a3a4ACa1a2a3a4BCDa1a2a3a4DAa1a2a3a4所以,=AB,AD,BCD,DA具有无损联接性。例3 :设有关系模式RU,F,其中: U=A,C,B,F=AB,C-B判断一个分解=AC,BC是否具有无损联接性。解:的无损联接性判断结果表如下所示:由此判断具有无损联接性。RiABCACa1b12a3BCb21a2a3由于,AB 没有变化,C-BRiABCACa1a2a3BCb21a2a3所以,=AC,BC具有无损联接性。例 4:设有关系模式RA,,B,C,D,其上的函数依赖集:FAC, CA, BAC, DAC 1计算(AD)。2求F的最小等价依赖集Fm。3求R的关键字。 (4 ) 将R分解使其满足BF且无损连接性。5将R分解成满足3NF并具有无损连接性与保持依赖性。解:(1) 令*=AD,,*(0)=AD,*(1)=ACD ,*(2)=ACD,故(AD)=ACD。(2) 将F中的依赖右部属性单一化:AC CAF1= BA DA 在F1中去掉多余的函数依赖:BA, AC BC是多余的。又DA, AC DC是多余的。AC CAF2= BA DA函数依赖集的最小集不是惟一的,此题中还可以有其他答案。F2中所有依赖的左部却是单属性,不存在依赖左部有多余的属性。AC CAF= BA DA3BD在F中所有函数依赖的右部均未出现,候选关键字中一定包含BD,而BDABCD,因此, BD是R惟一的候选关键字。4考虑AC,AC不是BF(AC不包含候选关键字BD),将ABCD分解为AC和ABD。AC已是BF, 进一步分解ABD,选择BA,把ABD分解为AB和BD。此时AB和BD均为BF,=AC, AB, BD。5由2可求出满足3NF的具有依赖保持性的为=AC, BA, DA。判断其无损连接性如图4.10所示的表,由此可知不具有无损连接性。令BD,BD是R的候选关键字,AC, BA, DA, BD。RiABCDACa1a3BAa1a2a3DAa1a3a4图4.10 无损连接判断表六、举例1设有关系模式RU,F,其中:UA,B,C,D,E,P,FA B,CP,EA,CED求出R的所有候选关键字。解:根据候选关键字的定义:如果函数依赖*U在R上成立,且不存在任何*?*,使得*U也成立,则称*是R的一个候选关键字。由此可知,候选关键字只可能由A,C,E,组成,但有EA,所以组成候选关键字的属性可能是CE。计算可知:CEABCDEP,即CEU而: CCP,EABER只有一个候选关键字CE。2设有关系模式RC,T,S,N,G,其上的函数依赖集:FCT,CSG,SN求出R的所有候选关键字。解:根据候选关键字的定义:R的候选关键字只可能由F中各个函数依赖的左边属性组成,即C,S,所以组成候选关键字的属性可能是CS。计算可知:CSCGNST,即CSU而: CCT,SNSR只有一个候选关键字CS。3设有关系模式RA,B,C,D,E,其上的函数依赖集:FABC,CDE,BD,EA1计算B。2求出R的所有候选关键字。解:1令*B,*0B,*1BD,*2BD,故BBD。2根据候选关键字的定义:R的候选关键字只可能由F中各个函数依赖的左边属性组成,即A,B,C,D,E,由于ABCAB,AC,BD,EA,故:可除去A,B,C,D,组成候选关键字的属性可能是E。计算可知:EABCDE,即EU,E是一个候选关键字。可除去A,B,E,组成候选关键字的属性可能是CD。计算可知:CDABCDE,即CDU,但CC,DD,CD是一个候选关键字。可除去B,C,D,E组成候选关键字的属性可能是A。计算可知:AABCDE,即AU,A是一个候选关键字。可除去A,D,E,组成候选关键字的属性可能是BC。计算可知:BCABCDE,即CDU,但BBD,CC,BC是一个候选关键字。R的所有候选关键字是A,BC,CD,E。图4.8 无损连接判断表4设有关系模式RU,F,其中:UA,B,C,D,E,FAD,ED,DB,BCD,DCA 1求出R的候选关键字。2判断AB,AE,CE,BCD,AC是否为无损连接分解?RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3解:1CEABCDE,即CEU,而CC,EDEBDE,根据候选关键字定义,CE是R的候选关键字。2的无损连接性判断表如图4.8所示,由此判断不具有无损连接性。5设有关系框架R(A, B, C, D, E)及其上的函数相关性集合 F=AC, BD, CD, DE C, CEA ,试问分解P=R1(A, D), R2(A, B), R3(B, E) , R4(C, D, E), R5(A, E),是否为R的无损连接分解?解:的无损连接性判断表如图4.9所示,由此判断不具有无损连接性。RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEADa1a4ABa1a2BEa2a5CDEa3a4a5AEa1a5RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3图4.9 无损连接性判断表6设有函数依赖集F=ABCE, AC, GPB, EPA, CDEP, HBP, DHG, ABCPG,计算属性集D关于F的闭包D。解:令 *D, *(0)=D。在F中找出左边是D的子集的函数依赖,其结果是: DGH, *(1)=*(0)HG=DGH,显然有 *(1)*(0)。在中找到左边是DGH子集的函数依赖,未找到,则*(2)=DGH. 由于*(2)=*(1),则:DDGH7关系模式R的全部属性集UA, B, C, D, E, G及函数依赖集:F=ABC, CA, BCD, ACDB, DEG, BEC, CGBD, CEAG求属性集闭包(BD)解:令*=BD, *(0)=BD, *(1)=BDEG, *(2)=BCDEG, *(3)=ABCDEG, 故(BD)=ABCDEG8设有函数依赖集FABCE,AC,GPB,EPA,CDEP,HBP,DHG,ABCPG,求与F等价的最小函数依赖集。解:1将F中依赖右部属性单一化:ABE HBP AC DHF1 GPB DG EPA ABCPCDEP ABCG2对于ABC,由于有AC,则为多余的:ABE HBP AC DHF2 GPB DGEPA ABCPCDEP ABCG3通过分析没有多余的依赖,则:ABE HBP AC DHF3 GPB DGEPA ABCPCDEP ABCG9设有关系模式RU,F,其中:UE,F,G,H,FEG,GE,FEG,HEG,FHE求F的最小依赖集。解:1将F中依赖右部属性单一化: F1EG, GE, FE, FG, HE, HG 2对于FHE, 由于有FE,则为多余的,则: F2EG, GE, FE, FG, HE, HG 3在F2中的FE和FG以及HE和 HG之一是多余的,则: F3EG, GE, FG, HG 或F3EG, GE, FG, HE或F3EG, GE, FE, HE 或F3EG, GE, FE, HG 10. 有关系模式RU, F,其中:UA,,B,C, D,FAB, BC, DB ,把R分解成BF模式集:1如果首先把R分解成ACD,,BD,试求F在这两个模式上的投影。2ACD和BD是BF吗?如果不是,请进一步分解。解:1ACD(F)= AC, DC BD(F)= DB 2BD已是BF。ACD不是BF。模式ACD的候选关键字是AD。考虑AC,这个函数依赖不满足BF条件A不是模式ACD的候选关键字,将ACD分解为AC和AD,此时AC和AD均为BF。11.设有关系模式R(A, B, C ,D, E),R的函数依赖集:F=AD,ED,DB,BCD,CDA 求R的候选关键字。 将R分解为3NF。解:设 U=(A,B,C,D,E),由于CE+=ABCDE,C+=C, E+=BDE, R的候选关键字是CE。求出最小依赖集 F=AD,ED,DB,BCD,CDA将R分解的3NF: AD,DE,BD,BCD,ACD。12设有关系模式R(U, V, W, *, Y, Z),其函数依赖集:F=UV, WZ, YU, WY*,现有以下分解:1WZ ,VY, W*Y, UV2UVY, W*YZ判断上述分解是否具有无损连接性。解:1的无损连接性判断表如图4.11所示,由此判断不具有无损连接性。RiUVW*YZWZ a3a6VYa2a5*Y a3a4a5a5UV a1a2图4.11 无损连接性判断表2的无损连接性判断表如图4.12所示,由此判断具有无损连接性。RiUVW*YZUVYa1a2a5W*YZa1a2a3a4a5a6图4.12 无损连接性判断表13有如下的关系式R,试: 求出R所有的候选关键字。 列出R中的函数依赖。 R属于第几式?RA D EA1 d1 e2A2 d6 e2A3 d4 e3A4 d4 e4解:R的候选关键字为A和DE。R中的函数依赖有: ADE, DEA。R是BF。14RS,D,I,B,O,Q FSD ,IB,BO,OQ,QI求R的所有候选关键字。解:(1) FFSD ,IB,BO,OQ,QI(2) 构造函数依赖图如图4.29所示。D SIQBO图4.29 函数依赖图(3) 关键属性:S(4) 有一条独立回路IBOQI,共有M4个候选关键字。每个候选关键字有N112个属性。 R所有的候选关键字为:SI,SB,SQ,SO。15RI,B,O,Q,S,DFIB,BO,IQ,SD求R的所有候选关键字。解:(1) FFIB,BO,IQ,SD(2) 构造函数依赖图如图4.30所示。IBOQSD图4.30 函数依赖图(3) 关键属性集:I,S(4) 无独立回路。R只有惟一候选关键字IS。设有关系模式RA,,B,C,D,其上的函数依赖集:FAC, CA, BAC, DAC 1计算(AD)。2求F的最小等价依赖集Fm。3求R的关键字。. z.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!