数据库总结作业关系数据理论六

一.规范化程度判断

例5  关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={B→D,AB→C},试求R最高属于第几范式。
AB为候选码
AB->C、D且B->D存在非主属性对码的部分依赖,最高位1NF
例6  关系模式R(U,F),其中U={A,B,C,D,E},函数依赖集F={AB→CE,E→AB,C→D},试求R最高属于第几范式。
在R(U)中,如果X→Y(Y⊈X),Y-叉号X Y→Z,Z⊈Y, 则称Z对X传递函数依赖
AB)+=ABCDE=U,且(E)+=ABCDE=U,所以AB、E为候选码;
由于F中不存在部分依赖,故R至少属于2NF;
因AB→C,AB→E,C→D,存在非主属性对码的传递依赖,所以最高为2NF。

 例7  关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,A→C},试求R最高属于第几范式。

A和B闭包都是U,候选码仅有一个属性,故不存在部分依赖,至少为2NF;
A->B,B->A,A->C,由于A->B,B->A,属于3NF
也符合BCNF
在3NF基础上
关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF

例8  关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,C→A},试求R最高属于第几范式。 

必须先求出C是候选码,唯一,不存在部分函数依赖,故2NF,但C→A,A→B,存在非主属性对码的传递依赖,所以R最高为2NF。

例9  关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,D→B},试求R最高属于第几范式。
解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;
而AD→B,D→B,存在非主属性对码的部分依赖,所以R最高为1NF。

例10 关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,CD→B},试求R最高属于第几范式。
解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;
必须逐个求解闭包,不能主观臆断。
而AD→C,A→C,存在非主属性对码的部分依赖,所以R最高为1NF。

二.闭包求法

先看一下求解闭包

例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。
1.令X={A,E},X(0)=AE;
2.计算X(1),逐一扫描集合中各个函数依赖,在F中找到左边是AE子集的函数依赖,其结果是X(1)=ACDE;
3.X(0)!=x(1),且X(1)!=U,重新扫描,得到X(2)=ACDEI
4.X(2)!=X(1),但在F中用过的函数依赖的左边属性已经没有X(2)的子集,所以不必计算下去,其闭包为ACDEI

三.求最小依赖集

例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。
我们分三个步骤实现
1.将依赖右边属性单一化,结果为
F1={...D->E,D->G,CG->B,CG->D,CE->A,CE->G...}(这里只列出了增加的部分)
2.在F1中去掉依赖左部多余的属性,结果为
已经有C->A,CE->A去掉;求CD闭包为ABCEDG,故将ACD->B改为CD->B
F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G}
3.在F2中去掉多余依赖
根据CD→B,CG→B,CG→D得到CG→B多余,去掉
F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G }
CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一

 四.求候选码

例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。
可以求出各个闭包
A+=AB
B+=B
C+=CD
D+=D
AB+=AB
AC+=ACBD=U
AD+=ABD
......
因为AC+=U,A+!=U,C+!=U,故AC为其候选码
这样求法保证一定正确

 算法:

对于给定的关系RA1A2…, An)和函数依赖集F,可将其属性分为四类:

L类:仅出现在F的函数依赖左部的属性;

R类:仅出现在F的函数依赖右部的属性;

N类:在F的函数依赖左右两边均未出现的属性;

LR类:在F的函数依赖左右两边均出现的属性

定理对于给定的关系模式R及其函数依赖集F,若XX属于R)是L类属性,则X必为R的任一候选关键字的成员。

(好像是废话)

推论  对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选关键字。

定理对于给定的关系模式R及其函数依赖集F,若XX属于R)是R类属性,则X不在任何候选关键字中。

定理 3 对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类属性,则X必为R的任一候选关键字的成员

推论 对于给定的关系模式R及其函数依赖集F,若XX属于R)是N类和L类组成的属性集,且X+包含了R的全部属性,则X必为R的惟一候选关键字

猜你喜欢

转载自blog.csdn.net/lanshan1111/article/details/83959030