-
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