第六章 关系数据理论
数据库逻辑设计的工具──关系数据库的规范化理论
关系模式由五部分组成,是一个五元组:R(U, D, DOM, F)
关系名R是符号化的元组语义,U为一组属性,D为属性组U中的属性所来自的域
DOM为属性到域的映射,F为属性组U上的一组数据依赖。
1.函数依赖
函数依赖: X->Y,成为X确定Y,或Y依赖于X。
平凡函数依赖:X→Y,但Y⊆X 则称X→Y。 非平凡函数依赖:X→Y,但Y⊈X则称X→Y。
完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作X → Y。 部分函数依赖:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y。
传递函数依赖:在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖。
2.码
候选码:设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码。
全码:整个属性组是码,成为全码。
主码:若关系模式R有多个候选码,则选定其中的一个做为主码。
超码:如果U部分函数依赖于K,即K → U,则K称为超码。候选码是最小的超码,即K的任意一个真子集都不是候选码。
主属性:包含在任何一个候选码中的属性。
非主属性:不包含在任何码中的属性称为非主属性。
全码:整个属性组是码。
3.范式
1.第一范式(1NF)
作为二维表,每个分量必须是不可分开的数据项。
2.第二范式
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF
3.第三范式
设关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ⊇ Y), 使得X→Y,Y→Z成立,Y ↛ X不成立,则称R<U,F> ∈ 3NF。
4.BCNF
在关系模式R<U,F>中,如果每一个决定属性集都包含候选码.
BCNF的关系模式所具有的性质
所有非主属性都完全函数依赖于每个候选码
所有主属性都完全函数依赖于每个不包含它的候选码
没有任何属性完全函数依赖于非码的任何一组属性
5.多值依赖
设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,而Z=Ф,即Z为空,则称X→→Y为平凡的多值依赖。否则称X→→Y为非平凡的多值依赖。
6.第四范式
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。
4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。4NF所允许的非平凡多值依赖实际上是函数依赖。
若要求分解具有无损连接性,那么模式分解一定能够达到4NF。
若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不一定能够达到BCNF。
若分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。