2010-11-29 10 views
5

私は試験のために勉強しています。これは学習ガイドシートにあります。これは宿題ではなく、評定されません。無損失結合分解

関係スキーマR =(A、B、C、D、E)

機能依存性=(AB-> E、C-> AD、D-> B、E-> C)

r1 =(A、C、D)r2 =(B、C、E)OR

x1 =(A、C、D)x2 =(A、B、E)無損失結合分解?なぜ?

+0

実世界に属しているRとA、b、c、d、eは何ですか – XMen

+0

私は質問を編集しました – Mike

+1

説明されていないdownvote。 – EJP

答えて

4

私のリレーショナル代数は恐ろしく錆びですが、ここで私はそれは、あなたがロスレス分解を持っているのFDで

r1 ∩ r2 -> r1 - r2場合、またはr1 ∩ r2 -> r2 - r1行くことを覚えてどのようです。

r1 ∩ r2 = C 
r1 - r2 = AD 

C->ADが機能従属関係にある=> x1とx2の

x1 ∩ x2 = A 
x1 - x2 = CD 

A->CDのためのロスレス

はX2をチェックし、今FDの ではありません - X1

x2 - x1 = BE 

A->BEしたがって、非可逆

参照here、どちらかだ、私はここで

0

を犯したかもしれない恐ろしい過ちをチェックしてくださいFDではありません私の理解で、基本的にあなたの分解を見て、間かどうかの共通の属性を決定関係は関係の少なくとも1つの鍵です。

R1とR2の間で共通するのはCです.CはC - > A、Dが与えられているので、R1のキーになります。だからロスレスです。

X1とX2の場合、共通の唯一のものはAです。これは、それ自体が与えられた関数の依存関係からのX1またはX2のキーではありません。

0

機能依存性=(AB-> E、C-> AD、D-> B、E-> C)

をR1 =(A、C、D)、R2 =(B、C、E )は、チェイスアルゴリズムを実行するとロスレスです。 両方のテーブルが 'C'で一致し、依存関係C-> ADがテーブルACDで保持されていることがわかります。

x1 =(A、C、D)x2 =(A、B、E)は、チェイスアルゴリズムを実行した後に結論づけるように損失があります。 また、両方の表がAのみに合致し、Aに完全に機能的に依存する依存関係がないことがわかります。