解释 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 {传递性}


相关文章