解释数据库管理系统(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 {传递性}
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP