《数据库系统概论》第六章 关系数据理论

第六章 关系数据理论

1.函数依赖的定义:设R(U)是属性集U上的关系模式,X,Y是U的子集,且对于R(U)上任意一个可能的关系r,r中不存在两个不同的Y对应于相同的X的情况,则称Y函数依赖于X,记作X->Y

2.完全函数依赖:在R(U)中,如果X->Y,并且对于X的任何一个真子集X'都有X'不蕴含Y,则称Y对X完全函数依赖

3.传递函数依赖:在R(U)中,如果X->Y(Y不含于X),Y不蕴含X,Y->Z,,Z不含于Y,则称Z对X传递函数依赖

4.候选码(candidate key):设K为R<U,F>中的属性或属性组合,若U完全函数依赖于K,则称K为R的候选码;如果U部分函数依赖于K,则称K为超码

5.范式

1)1NF:关系模式中的每一个属性都是不可再分的

2)2NF:R∈1NF,且每个非主属性都完全函数依赖于任何一个候选码

3)3NF:每一个非主属性既不传递依赖于码,也不部分依赖于码

4)BCNF:关系模式R<U,F>中,每一个决定因素都包含码

5)4NF:关系模式R<U,F>∈1NF,且对于R的每个非平凡多值依赖都X->->Y(Y不含于X),X都含有码(平凡多值依赖就是Z = U- X-Y,有X->->Y且Z为空,其中X,Y为U的子集)

6.规范化小结:

扫描二维码关注公众号,回复: 3294870 查看本文章

1NF->2NF:消除非主属性对码的部分函数依赖

2NF->3NF:消除非主属性对码的传递函数依赖

3NF->BCNF:消除主属性对码的部分和传递函数依赖

BCNF->4NF:消除非平凡且非函数依赖的多值依赖

7.候选码的求解理论和算法:

对于给定关系R<U,F>,可将其属性分为四类:

L类:仅出现在F左边的属性

R类:仅出现在F右边的属性

LR类:在F左右两边都出现的属性

N类:在F左右两边都未出现的属性

判断候选码的一个充分条件:

定理1:对于给定的关系模式R<U,F>,若X(X∈U)是R的L类属性,则X必维R的任意候选码中的属性

例题1:设有关系模式R<U,F>,U={A,B,C,D},F={D->B,B->D,AD->B,AC->D},求R的所有候选码

解:考查F发现AC是L类的属性,有定理1知,AC必定为候选码中的属性

又因为AC的闭包为(A,B,C,D),即全体U,则AC为唯一的候选码

猜你喜欢

转载自blog.csdn.net/haohulala/article/details/82705975