資料庫 分解模式

2022-07-20 00:12:27 字數 2201 閱讀 7517

無損分解:若干張表進行自然連線能得到初始的表,但不一定保證保持函式依賴

儲存函式依賴分解:若分解前後的兩個閉包相互覆蓋,則說明保持函式依賴

無損連線的判斷:

方法一:定理

關係模式r(u,f)的乙個分解,ρ=具有無損連線的充分必要條件是:

u1∩u2→u1-u2 €f+ 或u1∩u2→u2 -u1€f

例:已知r,u=,f=,如下的兩個分解:

① ρ1=

② ρ2=

①因為ab∩bc=b,ab-bc=a,bc-ab=c

所以b→a ¢f+,b→c ¢ f+

故ρ1是有損連線。

② 因為ab∩ac=a,ab-ac=b,ac-ab=c

所以a→b €f+,a→c ¢f+

故ρ2是無損連線。

方法二:

ρ=是關係模式r的乙個分解,u=,f=,並設f是乙個最小依賴集,記fdi為xi→alj,其步驟如下:

① 建立一張n列k行的表,每一列對應乙個屬性,每一行對應分解中的乙個關係模式。若屬性aj ui,則在j列i行上真上aj,否則填上bij;

② 對於每乙個fdi做如下操作:找到xi所對應的列中具有相同符號的那些行。考察這些行中li列的元素,若其中有aj,則全部改為aj,否則全部改為bmli,m是這些行的行號最小值。

如果在某次更改後,有一行成為:a1,a2,...,an,則演算法終止。且分解ρ具有無損連線性,否則不具有無損連線性。

對f中p個fd逐一進行一次這樣的處理,稱為對f的一次掃瞄。

③ 比較掃瞄前後,表有無變化,如有變化,則返回第② 步,否則演算法終止。如果發生迴圈,那麼前次掃瞄至少應使該錶減少乙個符號,表中符號有限,因此,迴圈必然終止。

例:已知r,u=,f=,r的乙個分解為r1(ad),r2(ab),r3(be),r4(cde),r5(ae),判斷這個分解是否具有無損連線性。

① 構造乙個初始的二維表,若「屬性」屬於「模式」中的屬性,則填aj,否則填bij

② 根據a→c,對上表進行處理,由於屬性列a上第1、2、5行相同均為a1,所以將屬性列c上的b13、b23、b53改為同乙個符號b13(取行號最小值)。

③ 根據b→c,對上表進行處理,由於屬性列b上第2、3行相同均為a2,所以將屬性列c上的b13、b33改為同乙個符號b13(取行號最小值)。

④ 根據c→d,對上表進行處理,由於屬性列c上第1、2、3、5行相同均為b13,所以將屬性列d上的值均改為同乙個符號a4。

⑤ 根據de→c,對上表進行處理,由於屬性列de上第3、4、5行相同均為a4a5,所以將屬性列c上的值均改為同乙個符號a3。

⑥ 根據ce→a,對上表進行處理,由於屬性列ce上第3、4、5行相同均為a3a5,所以將屬性列a上的值均改為同乙個符號a1。

⑦ 通過上述的修改,使第三行成為a1a2a3a4a5,則演算法終止。且分解具有無損連線性。

上述例子搬運於:

保持函式依賴的判斷:

根據定義,求出其中乙個的閉包,看另乙個函式依賴是不是都在前乙個閉包裡面

簡述:1.先將分解後的關係集取並,再求其的閉包(g+)

2.列舉f裡的函式依賴是否再g+裡,只要乙個f裡的函式依賴g+中沒有,則說明不保持函式依賴,反之則保持函式依賴

簡單技巧:直接根據關係集來判斷是不是包含所有的函式依賴

例:給定關係模式r,u={a, b, c, d, e},f={b→a,d→a,a→e,ac→b}

則分解ρ={r1(abce),r2(cd)}是否保持函式依賴

先看r1,我們可以得到b→a,ac→b,a→e,無法得到d→a,再看r2,依舊無法得到d→a,所以該分解不保持函式依賴

資料庫系統概論 模式分解

參考課件 模式分解 例1 u a,b,c,d,e,g f 若r不是3nf,將r分解為無損且保持函式依賴的3nf。解 先要求出最小依賴集,由前面,候選鍵為ag,fm 第一步 左部相同原則分組 對fm按具有相同左部的原則分組,然後左部 右部。u1 b de bde u2 dgc u3 agb 第二步 看...

資料庫規範化理論 模式分解

先上傳乙個導圖作為整體概況 背景和保持函式依賴分解,有導圖就不再贅述,下面主要說說有損無損的判斷方法 通過題目說明 法展示 1.畫出 2.通過函式依賴把a和b調換位置 比如在分解後的成績表中 學號 姓名 可將b12改為a2,以次判斷分解三種模式,得出下列結果 當成績一行包含了所有的屬性後,即全部變為...

資料庫關係理論之 碼 正規化 模式分解

設k kk是r f rrf 中的屬性或者屬性組合 k是超碼 k p uk xrightarrowu kp u 候選碼 k f uk xrightarrowu kf u 候選碼是最新小的超碼,任意乙個候選碼的子集都不是候選碼,候選碼可以有多個。主碼 候選碼其中之一 主屬性 候選碼的並集 非主屬性 u ...