0

機能の依存関係に関係するデータベース設計の問題で困っています。

以下は、RI が機能依存関係のセットと共に使用している関係スキーマ F です。

R = (A, B, C, D, E, F, G)
F = {A->BC, CD->AB, EF->AD, B->AEF}

私の目標は、DE->AC が F から派生できるかどうか、つまり F+ (F クロージャ) にあるかどうかを確認することです。

再帰性、拡張性、推移性、結合、分解、疑似推移性に関するアームストロングの公理 (基本的には関数の依存関係を操作して R と F の真のステートメントにできる代数のような操作) を理解していますが、よくわかりません。 DE->AC が F+ に含まれているかどうかについて、確実な「はい」または「いいえ」の答えが得られるように、それらを正しい方法で適用しています。

私は DE->AC をいじっていましたが、これが私がこれまでに得た場所です:

Given: A->BC
Given: CD->AB
    Therefore: CD->A and CD->B
From there I deduced that CD->BC by the transitivity rule.
I then canceled out the C's on both sides:
    D->B
After that I augmented E's on both sides:
    DE->BE
By decomposition, I now have:
    DE->B and DE->E, of which DE->B will be what I want to work with to try to make the right-hand-side AC.

私は今、この関数の依存関係に適切な左側を持っていますが、右側を AC と同等にするために次に何をすべきかわかりません。

次に何をすべきかという点で、私が見逃している可能性のあるものを見ることができますか?

助けてくれてどうもありがとう!

4

1 に答える 1