2017-04-11 142 views
0

我在理解多值依賴方面遇到了一些麻煩。定義是:當一個關係中至少有3個屬性(如X,Y和Z)時存在多值依賴關係,對於X的值,存在一組明確定義的Y值和一組明確定義的Z值但是,Y的值集合與Z集合無關,反之亦然。多值的依賴關係?

Suppose we have a relation R(A,B,C,D,E) that satisfies the MVD's 
A →→ B and B →→ D 

MVD在這裏如何在A-> B和B-> D中發揮作用?老實說,我不確定在查看示例問題後我是否真的明白了定義。

If R contains the tuples (0,1,2,3,4) and (0,5,6,7,8), what other tuples must 
necessarily be in R? Identify one such tuple in the list below. 


    a)  (0,5,2,3,8) 
    b)  (0,5,6,3,8) 
    c)  (0,5,6,7,4) 
    d)  (0,1,6,3,4) 

我會認爲AB是0,1和0,5,BD是1,3和5,7。沒有答案有0,1,3,5,7。

+0

您給出*的MVD是什麼定義,以及什麼*參考*? – philipxy

回答

0

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" 。但是你給(從維基百科)的「定義」沒有任何意義。所以我建議你考慮一下你在做什麼。