分解爲R的無損聯接分解,如果下面的函數依賴的至少一個是F +(其中F +表示關閉每個屬性或屬性集F):
R1 R2∩→R1或R1 R2∩→R2
不幸的是,我不明白這個標準。衆所周知,如果R1和R2的連接是R,分解是無損的,但是如何從上述標準推導出來?
分解爲R的無損聯接分解,如果下面的函數依賴的至少一個是F +(其中F +表示關閉每個屬性或屬性集F):
R1 R2∩→R1或R1 R2∩→R2
不幸的是,我不明白這個標準。衆所周知,如果R1和R2的連接是R,分解是無損的,但是如何從上述標準推導出來?
維基百科文章是一團糟。
分解是無損的,當且僅當(原始的投影)組件返回到它。
您引用的內容不是無損分解的定義。這是一個足夠的條件來表明分解是無損的,因爲原始中存在一些函數依賴關係。如果條件滿足,則加入是無損的。這不是必要的條件。
一些大學HTML幻燈片:
10我們會讓無損聯接更正式的定義:[...]
11換言之,無損聯接分解是對於任何法律關係r來說,如果我們分解r然後「重組」r,我們就可以得到我們開始的東西 - 不多也不少。
爲Lossless-Join Decomposition期間Normalization Using Functional Dependencies
設R A 有用充分條件是一個關係模式。
設F是R上的一組函數依賴關係。
設R1和R2構成R的分解。
如果至少有下列函數依賴項之一在F +中,則分解是R的無損連接分解:
1 R1∩R2→R1
2 R1∩R2→R2
背後明知充分條件的想法是,你只需要表現出對一套共同的東西屬性&一些函數依賴知道組件加入到原來的(等同)是一個損失ss分解。
爲什麼這是真的?簡而言之,它確保了自然連接(R1∩R2)中涉及的屬性是兩個關系中至少一個的候選鍵。