関係を BCNF 形式に正規化する方法を理解しようとしています。私は BCNF の定義を知っています。また、BCNF を正規化するには、重要な候補の一部ではないすべてのD -> X
場所を削除する必要があることも知っています。D
と の新しいテーブルを作成し(D,X)
ます(S,X)
。
私もこのスレッドを読みました:
しかし、私が直面している問題は、X がスーパー キーの一部である場合にアルゴリズムを使用する方法です。私は説明します:
次の関係があるとします。
R = (a,b,c,d,e)
FD = { {a,b}->{c} , {a,b}->{d} , {a,b}->{e} , {d}->{b} }
明らかに、唯一のスーパー キーは(a,b)
. そして明らかに、d
重要な候補ではありません。
d->b
BCNFに違反していb
ますが、スーパーキーの一部であるため、テーブルから取り出すことはできません.
私の質問は次のとおりです。この場合、この関係を BCNF 形式に正規化するにはどうすればよいでしょうか?