MVD(多值依賴)與「至少3個屬性」無關。 (您似乎引用了維基百科的文章,但非正式的定義部分是錯誤的,部分是無法理解的。)您需要閱讀並思考一個清晰,準確和正確的定義。 (您可能會得到這個答案)
MVD X↠Y提到了所有屬性集合S中的兩個子集,X & Y.有很多方法可以定義MVD在關係中的狀態,但最簡單的狀態&設想可能是兩個投影XY和X(SY)加入到原始關係中。其中還提到了第三個子集S-Y。 (二元)JD(連接依賴){XY,X(S-Y)}是什麼意思。
維基百科(儘管這製品是一團糟):
- 爲R的分解成(X,Y)和(X,R-Y)是一種無損聯接分解當且僅當X↠y成立於R.
從this answer:
的MVD總是在對秒。假設MVD X↠Y與屬性S保持關係,歸一化爲組件XY & X(S-Y)。請注意,S-XY是非X非Y屬性的集合,並且X(S-Y)= X(S-XY)。然後還有一個MVD X↠S-XY,歸一化爲X(S-XY)& X(S-(S-XY)),即X(S-XY)& XY,即X(SY)& XY 。爲什麼?請注意,兩個MVD都提供相同的組件對。即兩個MVD都描述相同的條件,即S = XY JOIN X(S-XY)。所以當MVD成立時,該夥伴也持有。我們可以使用特殊的顯式&對稱符號X↠Y |來寫出每個MVD表示的條件。 S-XY。
對於R =
A,B,C,D,E
0,1,2,3,4
0,5,6,7,8
...
甲↠乙告訴我們,以下加入到R:
A,B A,C,D,E
0,1 0,2,3,4
0,5 0,6,7,8
... ...
所以R具有至少
其中兩個
A,B,C,D,E
0,1,2,3,4
0,1,6,7,8
0,5,2,3,4
0,5,6,7,8
的給出,兩個是新的但不是選擇。
乙↠d告訴我們,下面的加盟R:
B,D A,B,C,E
1,3 0,1,2,4
5,7 0,5,6,8
... ...
所以R有至少
A,B,C,D,E
0,1,2,3,4
0,5,6,7,8
,我們已經知道了。
所以我們還不知道任何的選擇是否是R.但是現在我們知道R是
A,B,C,D,E
0,1,2,3,4
0,1,6,7,8
0,5,2,3,4
0,5,6,7,8
...
重複,A↠B加上沒有新的元組,但乙↠d現在給出了這樣的加入:
B,D A,B,C,E
1,3 0,1,2,4
1,7 0,1,6,8
5,3 0,5,2,4
5,7 0,5,6,8
... ...
而且加入的元組之一是選擇b) (0,5,6,3,8)
。
這個問題的表達方式,他們可能希望你使用他們給你的定義,就像維基百科中的另外兩個一樣。一說,α↠β保持作爲R時
- [...]如果我們表示由(x,Y,Z),具有用於α的值元組,β,R - α - β統稱等於到x,y,z,那麼每當元組(a,b,c)和(a,d,e)存在於r中時,元組(a,b,e)和(a,d,c)也應該存在在r。
(唯一的意義上,這給了「更簡單的話」中的「正式」的定義是,這是也定義。因爲這實際上不是意譯,因爲這種使用[R - α - β,而它使用R - β。)
通過應用此規則從給定值開始重複生成R的元組,我們最終生成b) (0,5,6,3,8)
,就像我們上面做的那樣。
PS我通常會建議你回顧導致你期望「AB是0,1和0,5和BD是1,3和5,7」(不管是什麼意思)或「 0,1,3,5,7" 。但是你給(從維基百科)的「定義」沒有任何意義。所以我建議你考慮一下你在做什麼。
您給出*的MVD是什麼定義,以及什麼*參考*? – philipxy