|
|
|
|
|
数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要、最基本的数据依赖。
|
|
|
|
(1)函数依赖。设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。
|
|
|
(2)非平凡的函数依赖。如果X→Y,但Y X,则称X→Y是非平凡的函数依赖。
|
|
|
(3)平凡的函数依赖。如果X→Y,但Y X,则称X→Y是平凡的函数依赖。
|
|
|
(4)完全函数依赖。在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'不能决定Y,则称Y对X完全函数依赖,记作 。
|
|
|
(5)部分函数依赖。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 。部分函数依赖也称局部函数依赖。
|
|
|
|
(6)传递依赖。在R(U,F)中,如果X→Y,Y?X,Y不能函数决定X,Y→Z,则称Z对X传递依赖。
|
|
|
|
(7)码。设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K',都有K'不能决定U,则K为R的候选码,若有多个候选码,则选一个作为主码。候选码通常也称为候选关键字。
|
|
|
|
(8)主属性和非主属性。包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。
|
|
|
|
(9)外码。若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X为外码。
|
|
|
|
(10)函数依赖的公理系统(Armstrong公理系统)。设关系模式R(U,F)中,U为属性集,F是U上的一组函数依赖,那么有以下的推理规则。
|
|
|
|
.A1自反律(Reflexivity):若Y?X?U,则X→Y为F所蕴含。
|
|
|
|
.A2增广律(Augmentation):若X→Y为F所蕴含,且Z?U,则XZ→YZ为F所蕴含。
|
|
|
|
.A3传递律(Transitivity):若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
|
|
|
|
|
|
.合并规则:若X→Y,X→Z,则X→YZ为F所蕴含。
|
|
|
|
.伪传递率:若X→Y,WY→Z,则XW→Z为F所蕴含。
|
|
|
|
.分解规则:若X→Y及Z?Y,则X→Z为F所蕴含。
|
|
|
|
引理X→A1A2…Ak成立的充分必要条件是X→Ai(i=1,2,…,k)成立。
|
|
|
|
|
关系数据库设计的方法之一就是设计满足适当范式的模式,通常可以通过判断分解后的模式达到几范式来评价模式规范化的程度。范式有1NF、2NF、3NF、BCNF、4NF和5NF,其中1NF级别最低。这几种范式之间5NF 4NF BCNF 3NF 2NF 1NF成立。通过分解,可以将一个低一级范式的关系模式转换成若干个高一级范式的关系模式,这种过程叫做规范化。
|
|
|
|
|
|
【定义9-4】若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
【定义9-5】若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。
|
|
|
|
换句话说,当1NF消除了非主属性对码的部分函数依赖,则称为2NF。
|
|
|
|
|
【定义9-6】若关系模式R(U,F)中不存在这样的码X、属性组Y及非主属性Z(Z不属于Y),使得X→Y,Y X,Y→Z成立,则称关系模式R∈3NF。
|
|
|
|
即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。
|
|
|
|
3NF的模式必是2NF的模式。产生冗余和异常的两个重要原因是部分依赖和传递依赖。因为3NF模式中不存在非主属性对码的部分依赖和传递函数依赖,所以具有较好的性能。对于非3NF的1NF、2NF,因其性能弱,一般不宜作为数据库模式,通常要将它们变换成为3NF或更高级别的范式,这种变换过程称为"关系模式的规范化处理"。
|
|
|
|
|
|
【定义9-7】若关系模式R∈1NF,若X→Y,且Y属于X,X必含有码,则关系模式R∈BCNF。
|
|
|
|
即当3NF消除了主属性对码的部分和传递函数依赖,则称为BCNF。
|
|
|
|
|
|
|
|
.所有非主属性对每一个不包含它的码,也是完全函数依赖。
|
|
|
|
|
|
|
|
|
|
【定义9-8】关系模式R(U,F)的一个分解是指,ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>},其中U=U1∪U2U…∪Un,并且没有Ui?Uj,1≤I,j≤n,Fi为F在Ui上的投影,Fi={X→Y|X→Y∈F+∧XY?Ui}。
|
|
|
|
对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价有3种情况。
|
|
|
|
|
|
|
|
|
|
|
【定义9-9】ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>}是关系模式R<U,F>的一个分解,若对R的任何一个关系r均有r=mρ(r)成立,则称分解ρ具有无损连接性(简称无损分解)。其中 。
|
|
|
|
【定理9-1】关系模式R<U,F>的一个分解ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是
|
|
|
|
U1∩U2→U1-U2∈F+或U1∩U2→U2-U1∈F+
|
|
|
|
|
【定义9-10】设关系模式R<U,F>的一个分解ρ={R1<U1,F1>,R2<U2,F2>,…,Rk<Uk,Fk>},如果 ,则称分解ρ保持函数依赖。
|
|
|