-
ArmStrong公理系统
学习数据依赖的公理系统是进行模式分解的算法的理论基础。而Armstrong公理系统是一个具有有效性和完备性的公理系统。
U是属性总体,F是函数依赖,对于R<U,F>推理规则如下:
A1 自反律 :若Y⊆X⊆U,则X→Y为F所蕴涵。
A2 增广律 :若X→Y,且Z⊆U,则XZ→YZ为F所蕴涵。
A3 传递律 : 若X→Y以及X→Z为F所蕴涵,则X→Z为F所蕴涵。
-
Armstrong公理系统的特点
有效性是指由F出发根据Armstrong公理推导出来的函数依赖一定在F的闭包中。
完备性是指F的闭包中的每一个函数依赖,一定可以由F出发通过Armstrong公理推导出来
因此根据有效性和完备性→引理: 设F为属性集U上的一组函数依赖,X、Y⊆U,X→Y能由F根据Armstrong推导出来的充要条件是Y⊆F的闭包。
-
如何求闭包
举例子:有关系模式R<U,F>,U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求AB的闭包
①要求AB的闭包,因此先找出来函数依赖F中,左侧包含AB或者A、B的函数依赖:AB→C,B→D。
②令X(0)=AB,Y=CD(根据①的右侧推导),X(1)=X(0)∪Y=ABCD(左侧与右侧的并集)
③进行检验X(0)=X(1)?不等于。继续找左侧为ABCD子集(例如ABC、AC、C)的函数依赖:C→E、AC→B。
④再次进行X(2)=X(1)∪BE=ABCDE
⑤进行检验X(0)=X(2)?也不等于,但是X(2)=U。因此结束,AB的闭包为ABCDE。
因此判断条件有两个就是①是X(0)=X(i) ②是X(2)=U