数据库--关系数据理论
函数依赖
- 完全函数依赖:最小的依赖
- 部分完全依赖:不是完全函数依赖的函数依赖(参数的子集可以就确定)。
- 传递函数依赖:x->y(Y?X,y->x不成立), y->z(Z?Y) 则x---z(z对x传递函数依赖)
(Y?X,y->x不成立)和(Z?Y)用于保证是x,y,z三个独立的变量
范式
理论上优化到5NF , 实际上优化到3范式
一范式
满足没给关系不可再分
二范式
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF.
即:满足一范式的基础上,消除部分函数依赖
不符合缺点
优化方案
3NF
设关系模式R∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ? Y), 使得X→Y,Y→Z成立,Y ? X不成立,则称R ∈ 3NF。
即:满足二范式的基础上,消除非主属性的传递依赖。
不符合缺点
优化方案
BCNF
(Boyce Codd Normal Form)由Boyce和Codd提出,比3NF更进了一步。通常认为BCNF是修正的第三范式,有时也称为扩充的第三范式。
设关系模式R∈1NF,若X →Y且Y ? X时X必含有码,则R∈BCNF。
换言之,在关系模式R中,如果每一个决定属性集都包含候选码,则R∈BCNF。
即:在满足三范式的基础上,消除主属性对码的部分的影响
四范式
即;在满足三范式的基础上,消除非平凡的多值依赖
全码:只有所有属性能做主码。
- 如果满足全码,则一定满足BCNF范式。
下表符合BCNF和全码:
出现的问题:重复太多;即出现了多值依赖
多值依赖
设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。
关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。
记为X→→Y
平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=Ф,即Z为空,则称X→→Y为平凡的多值依赖。
否则称X→→Y为非平凡的多值依赖。
平凡的函数依赖:如果A->B 并且 B是A的一部分
多值依赖的性质
- (1)多值依赖具有对称性。
即若X→→Y,则X→→Z,其中Z=U-X-Y - (2)多值依赖具有传递性。
即若X→→Y,Y→→Z, 则 X→→Z -Y。 - (3)函数依赖是多值依赖的特殊情况。
即若X→Y,则 X→→Y。
多值依赖与函数依赖的区别 - (1)多值依赖的有效性与属性集的范围有关
- (2)若函数依赖X→Y在R (U)上成立,则对于任何Y‘ 属于 Y均有X→Y’ 成立。多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y’属于Y有X→→Y’ 成立。
例如,关系R(A,B,C,D),A→→BC成立,当然也有A→→D成立。有R的一个关系实例,在此实例上A→→B是不成立的。
数据依赖的公理系统
Armstrong公理系统
设U为属性集总体,F是U上的一组函数依赖, 于是有关系模式R 。对R 来说有以下的推理规则:
- A1 自反律(reflexivity rule):若Y ? X ? U,则X →Y 为F所蕴涵。
- A2 增广律(augmentation rule):若X→Y为F所蕴涵,且Z ? U,则XZ→YZ 为F所蕴涵。
- A3 传递律(transitivity rule):若X→Y及Y→Z为F所蕴涵,则X→Z 为F所蕴涵。
注意:由自反律所得到的函数依赖均是平凡的函数依赖,
自反律的使用并不依赖于F。
根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
合并规则(union rule):
由X→Y,X→Z,有X→YZ。
伪传递规则(pseudo transitivity rule):
由X→Y,WY→Z,有XW→Z。
分解规则(decomposition rule):
由X→Y及Z?Y,有X→Z。
2 在关系模式R中为F所逻辑蕴涵的函数依赖的全体叫作F的闭包,记为\(F^+\)。
设F为属性集U上的一组函数依赖,X、Y ?U, \(X_F^+\)={ A|X→A能由F根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F的闭包。