1

与えられた関係R(A,B,C,D,E)FDs = {A->BC, CD->E, B->D, E->A}
R を BCNF に変換する際:

ABCDE -> BD & ABCE が最初の分解になります
BD は BCNF にあります

ABCEについて:

意見 1: ABCE には FD があります: A->BCE、E->ABC、BC->AE
したがって、既に BCNF に含まれています。

意見 2 ABCE には FD があります: A->BC、E->ABC
したがって、ABC & AE に分解する必要があります

D は関係の属性の 1 つではないため、A->E および BC->E は不可能であると仮定しているため、最初のものは正しいはずです。しかし、私はそれについて確信が持てません。
ABCEでA→EBC→Eが成立するかどうか教えてください。

4

1 に答える 1

1

問題が展開する問題を正しく特定しました。つまり、「BC->AE」が実際に ABCE に当てはまるかどうかです。ABCEに適用するためには、元のABCDEに適用できることを証明する必要があります。それを証明できますか?(ヒント: オリジナルの B->D から始めて、些細な C->C を追加して BC->CD を取得します)。

重要な議論が続きます。完全に座ってください。

ここで一歩戻って、最初の分解でスキーマ/設計に何が起こったのかを確認してください。その最初の分解は、BD を独自のテーブル/スキーマに選び出しました。そのため、既存の FD "CD->E" は、残りのテーブル/スキーマのいずれでも表現できませんでした (ABCE には D がないため、BD には ACE がないため)。しかし、この FD で表現されたビジネス ルールは引き続き適用されます。これが意味することは、置換設計 (BD が選択されたもの) では、2 つのテーブルにわたって定義される追加の制約があり、この制約は 2 つのテーブルの組み合わせ (それらの JOIN、つまり、元の単一テーブル設計の FD と同じです。つまり、その制約は、2 つのテーブルの任意の JOIN で、

追加の制約のない代替設計は、FD を含む元の設計と完全に同等になることは決してありません。しかし、2 つの設計は実際には同等であると想定されているため、この追加の制約が実際に適用されている (そして、対応する FD が引き続き「JOIN に適用される」) と想定することを許可する必要があります。Plsは、私が個人的にそれが明示的に述べられているのを見たり聞いたりしたことがないことに注意してください. 正規化理論の扱いは、たとえ以前に与えられた FD と同等であっても、追加の制約を見落とす傾向があります。

その仮定を立てることができず、残りの FD が適用される個々のテーブルに対して何を意味するかだけを見ることを余儀なくされた場合、BC->AE が ABCE テーブルで保持されていることを証明する方法はありません/スキーマ。そして、オプション 2 が正しい答えであると結論せざるを得なくなります。

(ここで重要な結論です。) 残念ながら、周りには多くの不十分な教育もあり、すべての正規化理論コースがそのような問題に対して同じスタンスをとっていることはどこにもありません。したがって、私の信念/意見はあなたが正しかったということですが、残念ながら私の答えは「先生が正規化理論をどれだけ理解しているかによる」ということになります。

于 2015-06-08T15:02:14.977 に答える