从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。
设U 是关系模式R 的属性集,F 是R 上成立的只涉及U 中属性的函数依赖集。函数依赖的推理规则有以下三条:
自反律:若属性集Y 包含于属性集X,属性集X 包含于U,则X→Y 在R 上成立。(此处X→Y是平凡函数依赖)
增广律:若X→Y 在R 上成立,且属性集Z 包含于属性集U,则XZ→YZ 在R 上成立。
传递律:若X→Y 和 Y→Z在R 上成立,则X →Z 在R 上成立。
其他的所有函数依赖的推理规则可以使用这三条规则推导出。
函数依赖:FD(function dependency),
设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,
如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],
则称 X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。
函数依赖的逻辑蕴涵:
设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,
如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。
部分函数依赖:
即局部依赖,对于一个函数依赖W→A,
如果存在X W(X包含于W)有X→A成立, 那么称W→A是局部依赖,否则称W→A为完全依赖。
完全函数依赖:见上。
传递依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A X(A不属于X),那么称Y→A是传递依赖。
函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。