簡體   English   中英

如何將其轉換為Boyce-Codd范式?

[英]How to transform this into Boyce-Codd Normal Form?

我不明白我在做什么錯。 這是我被問到的:

Normalize the following schema into BNCF:
T ((A, B), C, E, F, G)

The functional dependencies besides the key are:
A, B → C, E
F, B, A → G
B → B
F, C → C, G, E
C, F → E
E → G, E

所以,我想到了這個:

T ((A, B), C, E, F)
X((A,B), C, E)
W ((F,B,A), G)
Q ((B))
L ((F,C), G, E)
J ((C,F), E)
R ((E),G)

但這給了我這個錯誤:

結果不符合預期。 修改您的輸入,然后重試。

而且我不知道錯誤在哪里。 有人可以向我解釋我該怎么做嗎?

如果嵌套括號指示CK(候選密鑰),則

CK表示A, B → C, E
F, B, A → G同上
B → B是微不足道的
F, C → C, G, E隱含F, C → G, E
給定F, C → G, E C, F → E是多余的
E → G, E表示F, C → G, EF, C → E隱含

{A,B}為CK表示A, B → C, E, F, G ,加上F, C → EE → G 我們可以使用BCNF算法獲得包含((A,B),C,F)加上J((C,F),E)和R((E),G)的分解。

您無需解釋解決方案(您正在使用哪種BCNF算法以及做出了哪些選擇)。 但是請注意,當某些明確給定的FD持有時,關系中持有的FD都是由阿姆斯特朗公理生成的。 (包括因為我們被告知CK而持有的那些。)還請注意,在一種BCNF算法中,當我們選擇在架構R中違反BCNF的某些FD(功能依賴性)X→Y時,我們將R替換為架構X +和R- (X +-X); 而使用的FD集合是顯式給定的FD的閉包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM