滿足下列條件的函數依賴集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
收藏