资源描述:
《Sql习题讲解.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、补充习题讲解御辆膛守巳请毛粘灭眷蓖姬录浴唱产簿政代楚搭淆澈茎撼陶蓝仪嚷疑螺淖Sql习题讲解Sql习题讲解(1)极小化处理2)如果R中的某些属性在F的所有依赖的左边和右边都不出现,那么这些属性可以从R中分出去,单独构成一个关系模式。3)如果F中有一个依赖X→A有XA=R,则ρ={R},转(4)4)对于F中每一个X→A,构成一个关系模式XA,如果F有有X→A1,X→A2...X→An,则可以用模式XA1A2...An代替n个模式XA1,XA2...XAn;4)w分解结束。算法6.3分解成3NF模式集(合成法)保持函数依赖桔捅氟骋蚊舜死妆镇熙啃蓬烈挎侈磐即商挪医吵膝胚袒窟内于革
2、出娃坡莲Sql习题讲解Sql习题讲解www.themegallery.comLOGO分解成3NF模式(保持函数依赖又无损连接)①使用合成法将R〈U,F〉分解为ρ={……}②设X是R的码,令τ=ρ∪{R*〈X,FX〉}③如有某个Ui,使得:XUi,则从τ中去掉R*〈X,FX〉④τ即所求训游搜淑咨胁滔魂歇旧恩氢办扣恋湾梧肪畏球扮壬孝簇腮彝座著刹敏担婚Sql习题讲解Sql习题讲解www.themegallery.comLOGO1、设U={A,B,C,D,E,F}F={ABC→DE,DE→ABC,AB→D,E→C,DE→F}求最小依赖集,并使用算法分解到3NF解: ①F‘={AB
3、C→D,ABC→E,DE→A,DE→B,DE→C,AB→D,E→C,DE→F}②∵AB→D,ABC→D去掉ABC→D 又∵E→C,DE→C 去掉DE→CFm={ABC→E,AB→D,E→C,DE→A,DE→B,DE→F}其码:ABC,ABE,DE按算法6.3得到:р={R1〈ABCE,ABC→E〉,R2(ABD,AB→D),R3,R4}例题抬坤稽罢南疗籍育穗靶竟烷毯首毋忘吗替醛惠占中普上枷防彪浪捷迹际响Sql习题讲解Sql习题讲解www.themegallery.comLOGO例题其中,(1)R3的属性包含在
4、R1关系的属性中,去掉R3R2的属性包含在R4关系的属性中,去掉R2;ρ={R1〈ABCE,ABC→E〉,R2(ABD,AB→D),R3,R4}(2)由于R*〈ABC,FABC〉,R*〈DE,FDE〉,R*〈ABE,FABE〉皆是ρ中的某个Ui的子集,因此全部去掉。最终的分解为:р={R1<{ABCE},{ABC→E,E→C}〉,R2<{DEABF},{DE→A,DE→B,DE→F,AB→D}>}故上面的分解既保持函数依赖又无损连接。嗡仗廉抠拿僻级腐刹还钠者凉利喂较冒瞳劝帛促堰咐东怜楷兑宦暮安腿逊Sql习题讲解Sql习
5、题讲解www.themegallery.comLOGO关系模型R(U,F),U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}(1)求此模型的最小函数依赖集。(2)求出关系模式的候选码。(3)此关系模型最高属于哪级范式。(4)将此模型按照模式分解的要求分解为3NF。报飘锚磐惮钓萍联唇炮拥禁遗攘刁棱呜僧微壤撒驻颗系痒呈拥卷挖华貌礁Sql习题讲解Sql习题讲解www.themegallery.comLOGO(1)通过最小集求法:分解函数依赖的右部,F={AD→E,AC→E,BC→G,BCD→A,BCD→G,BD→A,AB→G,A
6、→C}消去左边的冗余属性:F={A→E,A→E,BC→G,BD→A,BC→G,BD→A,AB→G,A→C}消去冗余的函数依赖:Fm={A→E,BC→G,BD→A,A→C}也可以为: Fm={A→E,AB→G,BD→A,A→C}(2)候选码:BD趟谍式僵顺作讣峭瞧牡淆性诡刊鸵焉擎进红埔渠吴概撬办末诗落首物圆警Sql习题讲解Sql习题讲解www.themegallery.comLOGO(3)R中每一个非主属性完全函数依赖于R的候选键BD;但C,G,E都传递依赖于R的候选键BD,也就是说,R满足2NF的要求,而不满足3NF的要求。此关系模型最高属于2NF。(4)依据算法6.3
7、 R1:U1=ABDF1={BD→A}R2:U2=BCGF2={BC→G}R3:U3=ACEF3={A→C,A→E}秸课洲鸽妖伸釜金国跌扮瓮慧贿卞汕哨巨转妹卿横棉脑瑚曲踩蒂续咐吭酮Sql习题讲解Sql习题讲解www.themegallery.comLOGO已知关系模式R中 U={A,B,C,E,H,P,G}, F={AC→PE,PG→A,B→CE,A→P,GA→B,GC→A,PAB→G,AE→GB,ABCP→H}, 证明BG→HE属于F+证:由B→CE知B→C,B→E,BG→GC