0

これを BCNF に分割する際に問題があります。

Relation: R[A E P M N S T L]

FD's:
A -> EM, 
A -> L, 
M -> ST,
M -> N,
S -> T, 
E -> P, 
P -> E, 
L -> A

これは私の過去の試験の 1 つにありましたが、その解き方がよくわかりません。

私は、私たちのコースの文献を書いた女性 (Jennifer Widom) から coursera で次のことを学びました。

-------------- BCNF ALGORITHM ------------
1. Take a FD that violates BCNF.
2. Decompose the FD to two other relations
3. First relation: The whole FD
4. Second relation: The rest of the Relation + the left hand side of the chosen FD 
5. Iterate until all the new relations have key on its left hand side
-------------- BCNF ALGORITHM ------------

And I also tried another one that is basically the same, but written in a different way:
X->Y: R1({X}+), R2(R - {X}+ ; X) (Relation minus {X}+ (XY in this case), plus X.

これまでのところ、私はここにいます: 明らかに、A が重要なので、その FD は既に BCNF にあります。質問は、おそらく冗長 FD を消去できますか? もしそうなら、経験則は何ですか?

R1(MST) <-- BCNF.
R2(A E P M N L)
R3()

そしてどこへ行けばいいのかわからない。

4

1 に答える 1

0
1. Take a FD that violates BCNF.
5. Iterate until all the new relations have key on its left hand side

BCNF 違反に言及するステップ 1 は、元のリレーションと生成されたリレーションそれぞれのキーと非キー暗示 FD を特定する必要があることを意味する場合にのみ意味があります。また、ステップ 5 の終了は、左側にキーがある場合だけではありません。これは、非キー決定子が存在する可能性があるためです。明らかに、すべての関係が BCNF にあるときに停止することが必要かつ十分です。アルゴリズムの特定の完全な説明では、BCNF について明示的に言及せずに、同等の再編成および/またはテストを説明する場合があります。

A がキーの場合、L->A であるため、L もキーです。

MSTNAELP keys A and L plus M->ST, S->T, E<->P

これらの FD は非キーからのものです。M->ST を選択しました。我々が得る:

MST key M plus S->T
MNAELP keys A and L plus E<->P

どちらもキーからではない決定子を持っているため、BCNF にはありません。S->T と E->P を選択します。我々が得る:

ST key S in BCNF
SM key M in BCNF
EP keys P and E in BCNF
EMNAL keys A and L in BCNF
于 2014-05-22T04:25:44.760 に答える