步骤:
第一步:求“什么”的闭包,就往空集合里先写“ 什么”。第二步:根据题目给出的函数依赖集,如果集合中的元素在给出的函数依赖集里并且可以找到其能够确定的元素,便依次往集合里面添加对应确定的元素。
例题:
设属性集U为XYZW,函数依赖集为 {X →Y,Y →Z,W →Y},则利用上述算法: 求X +,(XW) +,(YW) +
X的闭包:
(1)求X的闭包,就往集合中先填入X,因为自己本身可以确定自己
X+={X}
(2)在函数依赖集{X →Y,Y →Z,W →Y}可知X能够确定Y,往集合里面添加Y
X+={XY}
(3)再看函数依赖集{X →Y,Y →Z,W →Y},Y可以确定Z,往集合里面添加Z
X+={XYZ}
(4)再看{X →Y,Y →Z,W →Y},没有集合中元素能够确定的元素了,闭包求解完毕
XW的闭包:
(1)求XW的闭包,就往集合中先填入XW
XW+={XW}
(2)在函数依赖集{X →Y,Y →Z,W →Y}可知X能够确定Y,W也能够确定Y,只需往集合里面添加一个Y就好
XW+={XWY}
(3)再看函数依赖集{X →Y,Y →Z,W →Y},Y可以确定Z,往集合里面添加Z
X+={XWYZ}
(4)再看{X →Y,Y →Z,W →Y},没有集合中元素能够确定的元素了,闭包求解完毕
以此类推,求YW的闭包如其上的步骤:
YW+={YWZ}