一個無損連接和保持函數依賴性的3nf分解

滿足下列條件的函數依賴集F稱爲正則覆蓋,記作Fc:
1)Fc 與 F 等價
2)Fc 中任何函數依賴都不含無關屬性
3)Fc 中函數依賴的左半部都是唯一的
 
R={F,G,H,I,J},候選碼是JH,F={F->I,J->I,I->G,GH->I,IH->F},求R的無損連接和保持函數依賴性的算法
根據題目,可以知道F=Fc已經是正則覆蓋了。於是以每個alpha->beta的依賴作爲一個Ri,得到R1(FI),R2(JI),R3(GI),R4(GHI),R5(IHF)K,去掉被R4完全包含的R3。得到R1(FI),R2(JI),R3(GHI),R4(IHF)。然後發現,候選碼JH不包含於某個Ri中,所以新建一個R5(JH)。最終得到R1(FI),R2(JI),R3(GHI),R4(IHF),R5(JH)
 
 
 
 
 
 
有關係模式R(A,B,C,D),R上的函數依賴集F={A->C, C->A, B->AC, D->AC}
1.求F的最小等價依賴集Fm
2.求R的關鍵字
3.R屬於第幾NF
4.將R分解成3NF,並保持無損連接性和函數依賴保持性。
 
1、將 F 中依賴右部屬性單一化: 
F 1 : A->C C->A  B->A  B->C  D->A D->C 
在 F 1 中去掉多餘的函數依賴: 
因爲 B->A , A->C 所以 B->C 是多餘的 
又因爲 D->A , A->C 所以 D->C 是多餘的 
F 2 : A->C C->A B->A D->A 
函數依賴集的最小集不是唯一的,本題答案不唯一。 
因爲 F 2 中所有依賴的左部都是單屬性,所以不存在依賴左部多餘的屬性。 
所以 Fm : A->C C->A B->A D->A 
2、 因爲 DB 在 F 中的函數依賴的右部中均未出現,所以候選關鍵字一定包含 BD ,而( BD ) + =ABCD 因此 BD 是 R 惟一的候選關鍵字。 
3、因爲存在部分函數依賴,所以是1NF
4、消除部分及傳遞依賴後,即達到3NF要求。
考慮 A->C ,所以將 ABCD 分解爲 AC 和 ABD 。 AC 已是 3NF ,進一步分解 ABD 選擇 B->A ,把 ABD 分解爲 AD、AB 和 BD ,此時 AD、AB 和 BD 均爲 3NF ,所以 ρ ={AC , BA , DA , BD}

0

收藏

bettercat

50篇文章,19W+人氣,0粉絲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章