2016-11-06 4 views
0

は、だから私はFDBCNFプロジェクトFD結果に関係

{A->C, CE->B, BC->AD, D-E}. 

で、リレーションR(A、B、C、D、E)を持っていると私はBCNFにそれを正規化します。

A-> CおよびD-> EはBCNFに違反するためです。私はABCDE からCとEを引いてABDになります。しかし、元の関係のFDを新しいABD関係にどのように投影するのですか?私はABDの結果FDは

{AB->D, AD->B} 

と私には分かりませんでした。

助けていただけたら幸いです!

答えて

1

分解されたスキーマ上の依存関係のセットを投影するアルゴリズムは、分解されたスキーマの属性の各サブセットの閉包を計算し、分解された関係に属するクロージャの属性を調べる必要があるため指数関数です。しかし簡単な例では、あなたの例のように、すべての可能なサブセット(6つ)を確認するのは簡単です:

A+ = AC 
B+ = B 
D+ = DE 
AB+ = ABCDE (D is present in ABD, so AB → D is in the projection) 
AD+ = ABCDE (B is present in ABD, so AD → B is in the projection) 
BD+ = BDE 
+0

ありがとう、私の問題を解決しました。 – libra

+1

あなたはようこそ! – Renzo