关于函数依赖和多值依赖,可以找到一个完整的推理规则集:
A1.(函数依赖的自反律):如果Y∈X∈U,则X→Y。
A2.(函数依赖的增广律):如果X→Y,且Z∈U,则XZ→YZ。
A3.(函数依赖的传递律):如果X→Y,Y→Z,则X→Z。
A4.(多值依赖的补规则):如果X→→Y,则X→→(U-X-Y)。
A5.(多值依赖的增广律):如果X→→Y,且V∈W,则WX→→VY。
A6.(多值依赖的传递律):如果X→→Y,Y→→Z,则X→→(Z-Y)。
A7.(从函数依赖导出多值依赖):如果X→Y,则X→→Y。
A8.(从多值依赖导出函数依赖):如果X→→Y,Z∈Y,Y∩W=∮,W→Z,则X→Z。
A9.(多值依赖的合并律):如果X→→Y,X→→Z,则X→→YZ。
A10.(多值依赖的伪传递律):如果X→→Y,WY→→Z,则WX→→(Z-WY)。
A11.(多值依赖与函数依赖混合传递律):如果X→→Y,XY→Z,则X→(Z-Y)。
A12.(多值依赖的分解律):如果X→→Y,X→→Z,则X→→(Y∩X),X→→(Y-Z),X→→(Z-Y)。
多值依赖与函数依赖的两个根本区别:
1) 在关系模式R(U)中,函数依赖X→Y的有效性决定于X,Y这两个属性集的值。只要在R(U)的任何一个关系r中,元组在X和Y上的值满足函数依赖的定义,则函数依赖X→Y在任何属性集W(XY∈W∈U)上成立。
对于多值以来来说,若X→→Y在W(W∽U)上成立,而在U上则不一定成立。所以多值依赖的有效性与属性集的范围有关。X→→Y在U上成立,则在W(XY∈W∈U)上成立;反之,则不然。一般的说,在R(U)上若有X→→Y在W(W∽U)上成立,则称X→→Y为R(U)的嵌入型多赖。
2) 若函数依赖XY在R(U)上成立,则对于任何Y`∽Y均有X→Y`成立。
对于多值依赖X→→Y,若在R(U)上成立,我们却不能断言对于任何Y`∽Y有X→→Y成立。
(注:该文中的“∈”代表包涵“∽”代表包涵于)
阅读(10859) | 评论(0) | 转发(0) |