资源描述:
《数据库范式与关系模式示例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章补充讲义一、范式举例例1:已知R,请问R为几范式?零件号单价P125P28P325P49BCNF。(25改成15还是BCNF.如:课程号与学号)例2:已知R,请问R为几范式?材料号材料名生产厂M1线材武汉M2型材武汉M3板材广东M4型材武汉2NF。有部分依赖。例3:已知R,请问R为几范式?ADEA1D1E2A2D6E2A3D4E3A4D4E4BCNF。例4:R(X,Y,Z),F={XY->Z},R为几范式?BCNF。例5:R(X,Y,Z),F={Y->Z,XZ->Y},R为几范式?3NF。R的候选码为{XZ,
2、XY},(R中所有属性都是主属性,无传递依赖)一、求闭包数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规范的(直观问题好办,复杂问题难办了),所以,这对分析数据模型,达到规范化设计要求,还有差距,为此,从规范数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规范化程度。例1.已知关系模式R(U、F),其中,U={A,B,C,D,E};F={ABàC,BàD,ECàB,ACàB},求(AB)+F.解:设X(0)=AB计算X(1),在F中找出左边为AB子集的FD,其结果是:ABàC,
3、BàD∴X(1)=X(0)UB=ABUCD=ABCD显然,X(1)≠X(0)计算X(2),在F中找出左边为ABCD子集的FD,其结果是:CàE,ACàB∴X(2)=X(1)UB=ABCDUBE=ABCDE显然,X(2)=U所以,(AB)+F=ABCDE.(等于U,所以AB是唯一候选关键字)例2.设有关系模式R(U、F),其中U={A,B,C,D,E,I};F={AàD,ABàE,BàE,CDàI,EàC},计算(AE)+解:令X={AE},X(0)=AE在F中找出左边是AE子集的FD,其结果是:AàD,EàC∴X(
4、1)=X(0)UB=X(0)UDC=ACDE显然,X(1)≠X(0)在F中找出左边是ACDE子集的FD,其结果是:CDàI∴X(2)=X(1)UI=ACDEI显然,X(2)≠X(1),但F中未用过的函数依赖的左边属性已含有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI.因为,X(3)=X(2),所以,算法结束。二、求最小依赖集最小依赖集是对函数依赖集合进行规范的结果,这样才能对一般关系模式进行准确分析。例1.设函数依赖集F={ABàCE,AàC,GPàB,EPàA,CDEàP,HBàP,DàHG,AB
5、CàPG},求与F等价的最小函数依赖集。解:将F中依赖右部属性单一化:F1=ABCABàEHBàPAàCDàHGPàBDàGEPàAABCàPCDEàPABCàG由于有AàC,所以ABàC为多余成份:所以F2=ABàEHBàPAàCDàHGPàBDàGEPàAABCàPCDEàPABCàG经过分析认为F2中无多余依赖,则:Fmin=F2为最小函数依赖集。即Fmin={ABàE,HBàP,AàC,DàH,GPàB,DàG,EPàA,ABCàP,CDEàP,ABCàG}.例2.已知F={AàB,BàA,BàC,AàC,
6、CàA},求Fmin.解:F1=AàBAàCBABàCCAFmin1=AàBAàCBàACàAFmin2=AàBCàABàC例3.已知F={AàC,CàA,BàAC,DàAC},求Fmin。解:将F中依赖的右部属性单一化:F1=AàCCàABàABàCDàADàC由于BàA,AàC,所以BàC是多余成份。又由于DàA,AàC,所以DàC是多余成份。所以F2=AàCCàABàADàA因为F2中所有依赖的左部都是单属性,所以不存在依赖左部的有多余属性。所以Fmin=AàCCàABàADàA即Fmin={AàC,CàA,
7、BàA,DàA}.例4.设有关系模式R(U,F),其中:U={E,F,G,H},F={EàG,GàE,FàEG,HàEG,FHàE},求F的最小依赖集。解:将F中依赖右部属性单一化:F1=EàGHàEGàEHàGFàEFHEFàG由于有FàE,FHàE为多余成份:(不是因为有HàE,而是,F后面加一个H和不加一样)所以F2=EàGHàEGàEHàGFàEFàG由于F2中,FàE和FàG以及HàE和HàG之一为多余,则:Fmin1={EàG,GàE,FàG,HàG}Fmin2={EàG,GàE,FàE,HàE}Fmi
8、n3,Fmin4同理。四、求候选码1.候选关键字求解理论对于给定的关系R(A1,A2,…,An)和函数依赖集F,可将其属性分为四类:lL类:仅出现在F的函数依赖左部的属性lR类:仅出现在F的函数依赖右部的属性lN类:在F的函数依赖左右两边均未出现的属性lLR类:在F的函数依赖左右两边均出现的属性定理1:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L