㈠ 模式分解中怎麼實現無損連接並保持函數依賴性
∵(BE)+=ABCDE, B+=BC不屬於ABCDE, E+=E不屬於ABCDE
∴BE為R的關鍵字.
考慮A→C,不包含關鍵字
∴將R分解為R11(AC)R12(ABDE)
F11的函數依賴為,睜祥F12的函數依備臘賴為
∵F11∈BCNF,F12不屬於BCNF,繼續分解
將的R12分解仿早滑為R21(AD),R22(ABE)
F21的函數依賴為,F22的函數依賴為
∵R21∈BCNF,R22∈BCNF
∴R的一組BCNF模式分解為R11(AC),R21(AD),R22(ABE)
註:分解的結果可能不唯一.
㈡ 資料庫中函數 依賴問題 無損連接性。
ST為候孝禪選碼,CR為非主屬性,不存在非主屬性對候選碼的部分函數依賴,但存在傳遞函數依賴,ST→C故而是2NF。
因為P1∩P2=C,P1-P2=TR,P2-P1=S,C→TR,C→S均不悔慎舉成碧碧立,故這個分解不具有無損連接性。
π
p1(F)∪π
p2
(F)={TR→C}
與F不等價,故不保持函數依賴。
㈢ F={A→D,E→D,D→B,BC→D,DC→A},BCD關於F的投影
解:
1、在函數依賴集F中,未被函數決定的屬性有:CE,必包含於碼中。
∵(CE)+=CEDBA=U ∴ 候選碼只有:CE
∵E →D 屬性D部分依賴與碼CE,∴ R是1NF
2、依賴集F已經是極小依賴集,且所有屬性都在依賴中出現,根據保持函數依賴地轉換成3NF的演算法,將每個函數依賴中包含的屬性局游組成一個關系模式,得到分解:
{AD,ED,DB,BCD,ACD} 因為 AD包含於ACD中,去掉AD得:
{ED,DB,BCD,ACD} 因為 AD包含於ACD中,去掉AD得:
再並上一個候選碼{CE}得到即保持函數依賴又有無損連接性的分解:
{ED,DB,BCD,ACD,CE}
3、
∵碼是CE,F={A →D,E →D,D →B,BC →D,DC →A}
R不是BCNF。
任選一不符合BCNF要求的函數依賴:A →D 進行分解得:
R1(AD) F1={A →D} 碼是A,該模式是BCNF
R2(ABCE) F2={CE→A,A→B} 碼是CE,該模式不是BCNF,繼續分解
選A→B分解得:
R21(AB) F21={A→B} 碼是A,慧陵該模式是BCNF
R22(ACE) F22={CE→A} 碼是CE,該模式是BCNF
具有無損連接性的BCNF分解為:
{R1,R21,R22}
4、根據推理規則,從FD導出MVD,得R的MVD集合:
{A →→D,E →→D,D →→B,BC →→D,DC →→A}
R不是4NF。
任選一桐碧銷不符合4NF要求的MVD:A →→D 進行分解得:
R1(AD) M1={A →→D} 碼是A,該模式是4NF
R2(ABCE) M2={CE→→A,A→→B} 碼是CE,該模式不是4NF,繼續分解
選A→→B分解得:
R21(AB) M21={A→→B} 碼是A,該模式是4NF
R22(ACE) M22={CE→→A} 碼是CE,該模式是4NF
具有無損連接性的4NF分解為:
{R1,R21,R22}
㈣ 請問如何求3nf和bcnf
p保持函數依賴的3NF範式分解:演算法1
⑴對R<U,F>中的F進行最小化處理
⑵不在F中出現的屬性組巧鋒成一個關系模式,並從U中去掉這些屬性
⑶若存在X->A</F, 有XA=U, 則r={R}, 終止演算法
⑷否則,對於具有相同左部的函數依賴分成一組,假設有K組,記為F1,F2,…,Fk, Fi的所有屬性構成Ui, 若UiÍUj(i¹j), 則去掉Ui,
⑸這樣得到的一個分解r={R1<U1,F1>, R2<U2,F2>, …, Rk<Uk,Fk>}構成了R<U,F>的一個保持函數依賴的分解
p具有無損連接性和保持函數依賴的3NF範式分解:演算法2
⑴設X是關系模式R<U,F>的關鍵字
⑵通過演算法1得到一個分解r
⑶t= r U {R*<X, Fx>}
⑷若存在一個Uj, 有XÍUj, 則將R*<X, Fx>從t中去掉
⑸t是一個具有無損連接和保持函數依賴的3NF分解
p具有無損連接性的BCNF範式分解:演算法3
⑴r={R<U,F>}
⑵檢查r中的每個關系模式是否孝叢晌為BCNF,若是演算法終止
⑶設r中Ri<Ui,Fi>不屬於BCNF, 那麼必存在X->A<Fi+(A</X), X不是Ri的關鍵字,對Ri進行分解:s={S1,S2}, Us1=XA, Us2=Ui-{XA}, 以代替Ri<Ui,Fi>, 返回第二步
你這題的結果
關鍵字A,CF
3NF
R1(BGC) R2(ABGD) R3(ACF) R4(ACG) R5(ADEF)R6(ACB)
BCNF
上面 R2(ABGD) 中有 ABG->D,A->G 所以 R22(AG),R21(ABD)
R3(ACF)中 CF->A,A->C,所以R31(AC),R32(CF)
最終結果
R1(BGC) R22(AG),R21(ABD)R31(AC),R32(CF)R4(ACG) R5(ADEF)R6(ACB)
以上結果我鄭缺也拿不太准,只供參考
㈤ 將R分解成3NF,使其既具有無損連接性又有函數依賴保持性。(只需要第三問的詳細解題步驟)
(1)R的候選碼為BD
(2)拆睜冊
①將F中旅宏的函數依賴都分解為右部為單屬性的函數早碰依賴.
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
②去掉F中冗餘的函數依賴.
判斷A→C是否冗餘.
設:G1={C→A,B→A,B→C,D→A,D→C,BD→A},得(A)G1+=A
∵C不屬於(A)G1+∴ A→C不冗餘
判斷C→A是否冗餘.
設:G2={A→C,B→A,B→C,D→A,D→C,BD→A},得(A)G2+=C
∵A不屬於(C)G1+∴ C→A不冗餘
㈥ 模式分解中怎麼實現無損連接並保持函數依賴性
判別的方法並不茄余麻煩
畫張表 慢慢的按要求推就行了。
例CS->G C->T TH->O HI->C HS->I
{R1(CSG),R2(CT) R3(THI),R4(HIC),R5(HSI)}
構表(下面可能會出現變形)
表1
C T H I S G
R1(CSG) a1 b12 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) b31 a2 a3 a4 b35 b36
R4(HIC) a1 b42 a3 a4 b45 b46
R5(HSI) b51 b52 a3 a4 a5 b56
(對於不會畫表的。這里介紹一下。左別有的例如R1(CSG)則c下面為a1,沒有的t下面就為彎攔b+他的行列數即b12)
根據C->T 則1 2 4 行中的c全為a1 然後將 1 2 4 行的T全部轉成a2,(前題是T的124行中到少有一個為a2的。不然全轉成最上面一行即第一行的.)
轉後成表2
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) b31 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) b51 b52 a3 a4 a5 b56
HI->C 則三四五行的HI一樣。即將C的3,4,5行轉成a1(再多說一次,這里C的3,4,5行中有a1才可以轉成a1,沒有就照最上面一行(3)轉顫鬧滾)
轉後成表3
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 b52 a3 a4 a5 b56
HS中沒有相等的,跳過.
再CS->G 發現15行相等
則G的15行變為a6
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 b52 a3 a4 a5 a6
再C->T 最T全變為a2
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 a2 a3 a4 a5 a6
到這里發現最後一行變為了a1 a2 a3 a4 a5 a6,則驗證了這個為無損鏈接的。
㈦ 資料庫的無損連接判斷
無損連接是指分解後的關系通過自然連接可以恢復成原來的關系,即通過自然連接得到的關系與原來的關系嘩局碰相比,既不多出信息、又不丟失信息。保持函數依賴分解是指在模式的分解亂談過程中,函數依賴不能丟失的臘亂特性,即模式分解不能破壞原來的語義。
判斷是否無損連接的方法:
若關系模式R(U,F)中,被分解為p={R1, R2}是R的一個分解,若R1∩R2 → R1 - R2或者R1∩R2 → R2 - R1,則為無損連接
下面來看個例題
設有關系模式R(U,V,W,X,Y,Z),其函數依賴集:F={U→V,W→z,Y→U,WY→X},現有下列分解:p={UVY,WXYZ}
判斷分解p是否為無損連接
首先計算 R1∩R2 為Y,R1-R2為UV因為 Y→U,U→V,因此Y→UV。
所以為無損連接
㈧ 怎麼判斷關系資料庫分解無損連接和保持函數依賴
題目怎麼錯了,真逗,不懂就瞎說
這是資料庫比較常見的無損分解和判斷是否函數依賴
答肆歷案是不攜春是無損分解,不保持函數依賴
大家可以網路一下
教你如何判斷無損連接和函數辯雹耐依賴
輕松學會哈哈
㈨ 如何將一個關系模式分解成無損連接的BCNF
∵(BE)+=ABCDE,,B+=BC不屬於ABCDE,E+=E不屬於ABCDE。
∴BE為R的關鍵字。
考慮A→C,不包含關鍵字。
∴將R分解為R11(AC)R12(ABDE)F11的函數依賴為{A→C},F12的函數依賴為(AD)。
∵F11∈BCNF,F12不屬於BCNF,繼續分解。
將的R12分解為R21(AD),R22(ABE)。
F21的函數依賴為{A→D},F22的函數依賴為{BE→A}。
∵R21∈BCNF,R22∈BCNF。
∴R的一組BCNF模式分解為R11(AC),R21(AD),R22(ABE)。
註:分解的結果可能不唯一。
(9)無損連接函數方法擴展閱讀:
推導:
設R(U)是一個屬性集U上的關系模式,X和Y是U的子集。
若對於R(U)的任意兩個可能的關系r1、r2,若r1[x]=r2[x],則r1[y]=r2[y],或者若r1[y]不等於r2[y],則r1[x]不等於r2[x],稱X決定Y,或者Y依賴X。
上面一段話是某些教材上的話,比較不好理解。比如在設計學生表時,一個學生的虧租學號能決定學生的姓名,也可稱姓名屬性依賴於學號,對於現實來說,就是如果知道一個學生的學號,就一定能知道學生的姓名。
這種情況就是姓名依賴於學號,這就是函數依賴,函數依賴又分為非平凡依賴,平凡依賴;從性質上還銷純兆可以分為完全函數依賴、部分函數依賴和傳遞函數依賴。
Y=f(x)
1、數據依賴
在計算機科學中,數據依賴是指一種狀態,當程序結構導致數據引用之前處理過的數據時的狀態。其中最重要的是函數依賴和多值依賴。
2、函數依賴
設X,Y是關系R的兩個屬性集合,當任何時刻R中的任意兩個元組中的X屬性值相同時,則它們的Y屬性值也相同,則稱X函數決定Y,或Y函數依賴褲悔於X。
3、平凡函數依賴
當關系中屬性集合Y是屬性集合X的子集時(Y⊆X),存在函數依賴X→Y,即一組屬性函數決定它的所有子集,這種函數依賴稱為平凡函數依賴。
㈩ 請舉一個模式分解的例子,要求實現無損連接,但不能保持函數依賴。
關系模式R(U,F),U={A,B,C,D,E},F={C→A,D→A,,A→E,AC→B},分解P={R1(ABCE),R2(BCD)}滿足哪擾畢李芹具有無損連接,但不能保持函數依李模賴。