2017-12-03 12 views
-1

次の関係がBCNF形式であるかどうかを確認するにはどうすればよいですか?リレーションシップがBCNF形式であるかどうかを確認しますか?

R(U,V,W,X,Y,Z) 

UVW ->X 
VW -> YU 
VWY ->Z 

私は関係X-> Yを理解しています。 Xはスーパーキーでなければなりません。それは3NF形式でなければなりませんが、私はどのように概念を適用するのか分かりません。前もって感謝します。

+0

もしわからない場合は、本をお読みください。 exacltyに、あなたが従っている定義とアルゴリズム、それをどのようにフォローしているのか、どのように&あなたが立ち往生しているのかを教えてください。ここでは教科書の書き直しをお願いしています。 – philipxy

答えて

0

リレーションシップがBCNFにあるかどうかを判断するには、定義にはF+の非自明な依存関係、つまり指定されたすべての依存関係(F)とそれから導出されるものについてチェックする必要があります。スーパーキー。幸いにも、指定された依存関係に対してのみこのチェックを実行すれば十分であるという定理があります。

これは、UVWVW、およびVWYがスーパーキーであるかどうかをチェックする必要があることを意味します。

と依存X -> YにセットがX属性かどうかを確認するためには、あなたが属性(X+)の閉鎖を計算し、それが右側部分Yが含まれているかどうかを確認することができますスーパーキーです。

したがって、UVW+を計算し、それに{U,V,W,X,Y,Z}が含まれているかどうかを確認し、他の2つの依存関係についても同様に確認する必要があります。私はこの簡単な運動をあなたに任せます。

+0

VW +、UVW +、VWY +にすべて{U、V、W、X、Y、Z}が含まれているかどうかを確認するにはBCNF – bob

+0

@bob:はい、候補キーはVWであるためBCNFカノニカルカバーは、VW→U、 VW→Y、 VW→Z、 VW→Xです。 – Renzo

+0

たとえば、この関係がBCNFにない場合、3NFであったかどうかをどのように判断しますか?ご協力いただきありがとうございます。 – bob

関連する問題