資料依賴使關係規範化的基礎
定義:對於滿足一組函式依賴f的關係模式r,其任何乙個關係r,若函式依賴x->y都成立,(即r中任何裡任何個二元組t,s,若t[x]=s[x],則t[y]=s[y]),則稱f邏輯蘊含x->y)
顯示的邏輯蘊含(直接的函式依賴)與隱式的邏輯蘊含(推導的函式依賴)
自反律:若yy為f所蘊含
增廣律:若x->y為f所蘊含,且zyz為f所蘊含
傳遞律:若x->y及y->z為f所蘊含,則x->z為f所蘊含
合併規則:由x->y,x->z,有x->yz
偽傳遞規則:由x->y,wy->z,有xw->z
分解規則:由x->y及zz
根據合併規則和分解規則:
x->a1a2…ak成立的充分必要條件使x->ai成立(i=1,2,3,…,k)
已知關係模式r,其中
u=f=
求(ab)f+
第一次(ab)f(0)=
第二次(ab)f(0)=
第三次(ab)f(0)=
所以(ab)f+=
如果g+=f+,就稱函式依賴集f覆蓋g(f是g的覆蓋,或g是f的覆蓋),或f與g等價
極小函式依賴集f需滿足如下條件
(1)f右部僅包含乙個屬性
(2)f不存在函式依賴x->a,使得f與f-等價
(3)f不存在這樣的函式依賴x->z,x有真子集z使得f-u與f等價
構造過程
(1)被決定因素最小化
(2)函式依賴數目最小化
(3)決定因素最小化
求解極小函式依賴的方法,去掉當前函式依賴,判斷被決定屬性是否能被(決定因素)推導出來或是是否屬於決定因素構成的閉包,如果成立,返回看之前去掉的函式依賴是否成立,如果成立則去掉,不成立則不去掉
求f=
的極小函式依賴
第乙個函式依賴a-
>b:
(a)f+
=,b不屬於(a)f+
,a->b不能被去掉
第二個函式依賴b-
>a:
(b)f+
=,a屬於(b)f+
,b->a能去掉
第三個函式依賴b-
>c:
(b)f+
=,c不屬於(b)f+
,b->c不能被去掉(第二個函式依賴
已經被去掉)
第四個函式依賴a-
>c:
(a)f+
=,c屬於(a)f+
,a->c能被去掉
第五個函式依賴c-
>a:
(c)f+
=,a不屬於(c)f+
,c->a不能被去掉(第二個函式依賴
第三個函式依賴已經被去掉)
所以極小函式依賴為
極小函式依賴集不唯一,每個極小函式依賴集中的函式依賴個數也不一定都是相同,
就像我在求極小函式依賴集的時候,後面的函式依賴受到前面的函式依賴的影響,
如果從後往前看得到的函式依賴集可能與我們得到的極小函式依賴集不同,但是按
照相同的順序得到的極小函式依賴集肯定是相同的
資料庫 資料依賴的公理系統
邏輯蘊含 定義6.11 對於滿足一組函式依賴 f 的關係模式r 其任何乙個關係r,若函式依賴x y都成立,即r中任意兩元組t,s,若tx sx 則ty sy 則稱f邏輯蘊含x y 關係模式r 來說有以下的推理規則 a1.自反律 reflexivity 若y x u,則x y為f所蘊含。a2.增廣律 ...
資料依賴的公理系統
在說公理系統前,要理解函式依賴的概念 可以看我部落格裡面講正規化的文章也有提到函式依賴的定義 理解是,我們在r裡面任意找乙個r關係,對於這個關係的元組s和t,當s和t在屬性 組 x上面相等,則s和t在y屬性 組 上也相等。這樣被稱為,x函式確定y函式或者說y函式依賴於x函式 x y 理解是,在r關係...
資料依賴的公理系統
學習資料依賴的公理系統是進行模式分解的演算法的理論基礎。而armstrong公理系統是乙個具有有效性和完備性的公理系統。u是屬性總體,f是函式依賴,對於r推理規則如下 a1 自反律 若y x u,則x y為f所蘊涵。a2 增廣律 若x y,且z u,則xz yz為f所蘊涵。a3 傳遞律 若x y以及...