2016-12-02 57 views
1

我很難理解如何使用加入依賴關係「工作」,我想問一個問題,這將幫助我爲自己澄清事情。瑣碎的加入依賴關係

下面是從Wikipedia簡單定義:

甲表T是受連接依賴如果T總是可以通過連接多個表各自具有 的屬性的子集T.

被重新創建

甲瑣碎加入依賴性被定義如下:

如果T的一個在聯接中的ables具有表 T的所有屬性,聯接依賴被稱爲微不足道的。

我的問題是:如果我們將關係R分解爲無損分解,是否有可能R的每個連接依賴都可能是一個平凡的連接依賴? 一個例子會很棒。

回答

0

如果我們將關係R分解爲無損分解,R的連接依賴關係是否可能是一個平凡的連接依賴關係?

如果你的意思是,如果我們無損地分解一個關係R有可能R的所有JD都是微不足道的:是的。

無論何時 R的所有JD都是平凡的,你可以無損分解它,因爲從定義上來說JD只是對無損分解的描述。有這樣的關係。每個R稱爲其屬性集合S,滿足JD *(S,S),*(S,S,S)等。一些R不滿足其他FD。有些人滿足其他人,但他們也很平凡。

例如:該R僅滿足*(S,S),*(S,S,S)等:

x y 
1 2 
5 2 
5 4 

例如:說S = {X,Y}和FD {X} - > {y}成立,所以*({x},S}成立,但是說JD *({x},{y})不成立,那麼JD可以將聯合設置爲S的唯一方式是if S是其中之一。因此,R具有唯一瑣碎JDS,但只使用不只是那些S.

x y 
1 2 
5 2 
6 4 

如果你的意思是,如果我們分解關係R無損成更小的組件是有可能,所有日R的JD是微不足道的:不。因爲根據定義,一個微不足道的JD有一組是R的所有屬性,即有一個組件是R,它不會分解爲小於R的組件。