解释 DBMS 中函数依赖关系的推理规则
dbmsdatabasebig data analytics更新于 2026/1/13 17:07:17
函数依赖关系是从数据的含义和相互关系中衍生出来的约束。设 F 是所有函数依赖关系的集合。包含 F 的所有依赖关系以及可以从 F 推断出的所有依赖关系的集合称为 F 的闭包 (CLOSURE),记为 F+。
示例 1
以下是数据库管理系统 (DBMS) 中函数依赖关系的一个例子 −
F= { SSN-> { ENMAE, BDATE, ADDRESS, DNUMBER}, DNUMBER-> {DNAME,DMGRSSN} }
输出
您将获得以下结果 −

示例 2
下面给出了 DBMS 中函数依赖关系的另一个示例 −
F+ = { SSN-> {ENAME,BDATE,ADDRESS,DNUMBER},
DNUMBER-> {DNAME, DMGRSSN},
SSN-> {DNAME, DMGRSSN},
ENO->ENO,
DNUMBER->DNAME }
为了确定一种推断依赖关系的系统方法,我们必须找到一组接口规则,这些规则可用于从给定的依赖关系集合中推断出新的依赖关系。
函数依赖规则
有六条推理规则,如下所示 −
- 自反性:X->X // 属性自行确定
- 增强性:如果 X->Y 则 XZ->YZ
- 传递性:如果 X->Y & Y->Z 则 X->Z
- 加法或并集:如果 X->Y & X->Z 则 X->YZ
- 投影或分解:如果 X->YZ 则 X->Y & X->Z
- 伪传递性:如果 X->Y,YZ->W,则 XZ->W
示例
设关系 R 具有属性 R(A,B,C,D,E,F)
F:AB->C,BC->AD,D->E,E->F,CF->B,则证明 F 逻辑上蕴含 CD->B
解法
D->E,E->F,则 D=->F {传递性}。
D->E,CF->则 D=>B {伪传递性}
D->E, E->F 则 D=>F {传递性}
D->F 则 CD->CF {增强}
CD->CF, CF-> B 则 => CD-> B {传递性}

