0

今週はデータベースの中間試験があり、BCNF の違反を特定するのに苦労しています。私は関係を分解し、どれがキーでどれがスーパーキーかを見つける方法を知っています。暗示されている FD を書き出すこともできます。次のビデオを見ていました: https://www.youtube.com/watch?v=hTFyG5o8-EA .

要約すると、説明している女性は BCNF アルゴリズムを次の関係に適用し始めます (彼女は学生の例を使用していますが、簡略化するために文字に変換しました)。

R(A、B、C、D、E、F、G、H) と FD: A -> BCG、G -> H、D -> EF。

鍵が AD であることは承知しています。これは、AD+ = ABCDEFGH のクロージャーであるためです。彼女は、提示された FD はすべて違反であり、アルゴリズムの適用を開始すると述べています。

BCNF 試行 #1:

R1 = D -> EF (D+ = DEF) // 違反ではありませんが、なぜですか? ただの違反じゃないの?

R2 = ABCDEFG - (DEF - D) = ABCDGH // 違反、これも理由がわからない? 両方のキーが含まれています。


R2 での BCNF 試行 #2:

R3 = G -> H (G+ = GH) // 属性 GH が 2 つしかないため、違反はありません。

R4 = ABCDG // 違反ですが、理由はわかりません。


R4 での BCNF 試行 #3:

R5 = A -> BCG // 違反なし (?)

R6 = AD // 違反なし (?)

最終関係: R1、R2、R5、R6。

4

1 に答える 1