数据库函数依赖闭包的求法

来源:互联网 发布:java写一个抽奖系统 编辑:程序博客网 时间:2024/05/04 22:59

函数依赖的闭包


定义:若F为关系模式R(U)的函数依赖集,我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+。
即:F+={X→Y|X→Y∈F∨“应用Armstong公理从F中导出的任何X→Y”}

△ F包含于F+,如果F=F+,则F为函数依赖的一个完备集。
△ 规定:若X为U的子集,X→Φ 属于F+。

关系模式R<U,F>若有n个属性,则在模式R上可能成立的函数依赖有4n个,其中n个属性中组合成X有2n个,组合成Y有2n个。

例:已知关系模式R(ABC),F={A→C,B→C},求F+

解:∵U={A,B,C},左部不同的属性集组合有23=8种:

Φ、A、B、C、AB、BC、AC、ABC。

(1)∴Φ→Φ

(2)∵(A)F+=AC

∴A→Φ、A→A、A→C、A→AC。

(3)∵(B)F+=BC

∴B→Φ、B→B、B→C、B→BC。

(4)∵(C)F+=C

∴C→Φ、C→C。

(5)∵(AB)F+=ABC

∴AB→Φ、AB→AB 、AB→A、AB→B 、AB→C、AB→BC 、AB→AC、AB→ABC 。

(6)∵(BC)F+=BC

∴BC→Φ、BC→BC、BC→B、BC→C。

(7)∵(AC)F+=BC

∴AC→Φ、AC→BC、AC→B、AC→C。

(8)∵(ABC)F+=ABC

∴ABC→Φ、ABC→ABC 、ABC→A、ABC→B 、ABC→C、ABC→BC 、ABC→AB、ABC→AC。

所以F+共有35个具体如下:

∴Φ→Φ、A→∅、A→A、A→C、A→AC

B→Φ、B→B、B→C、B→BC

C→Φ、C→C、 AB→∅、AB→AB 、AB→A、AB→B 、AB→C、AB→BC 、AB→AC、AB→ABC 、

BC→Φ、BC→BC、BC→B、BC→C、

AC→Φ、AC→BC、AC→B、AC→C、

ABC→Φ、ABC→ABC 、ABC→A、ABC→B 、ABC→C、ABC→BC 、ABC→AB、ABC→AC

0 0
原创粉丝点击