设X是函数依赖集,被X逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集X的闭包,记为。
设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合。通俗点来讲,闭包就是通过这些属性能够直接推出或间接推出的属性集的集合。
下面列举一些关于闭包的例子:
【例1】.属性集U为ABCD,FD集为{A→B,B→C,D→B}。求,,。
答:=ABC
=ABCD =BCD
解析:A推出B,B推出C,所以A的闭包为ABC;AD,BD同理可得。
【例2】.
已知关系模式R<U,F>,其中U={A,B,C,D,E};F={AB→C,B→D,C→E,EC→B, AC→B}。求属性集AB相对于FD集F的闭包
。
答:=ABCDE
解析:AB可以推出C,C可推出E,B可推出D,由此可知AB的闭包包含了U中的所有属性集,所以=ABCDE。