解释数据库管理系统(DBMS)中函数依赖的推理规则


函数依赖是从数据的含义和相互关系中推导出的约束。设F是所有函数依赖的集合。包含F以及所有可以从F推断出的依赖的依赖集合称为F的闭包,记作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(A,B,C,D,E,F)的关系R为例

F: AB→C, BC→AD, D→E, E→F, CF→B,则证明F逻辑上蕴含CD→B

解答

D→E, E→F 则 D→F {传递性}

D→E, CF→B 则 D→B {伪传递性}

D→E, E→F 则 D→F {传递性}

D→F 则 CD→CF {增广性}

CD→CF, CF→B 则 CD→B {传递性}

更新于:2021年7月3日

10K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.