Relational-Theory
連接處顯示的資訊失去的分解
F={A → B; B → C; C → D}
R 分解為
R¹(A,B)
&R²(A,D)
&R³(C, D)
是不是沒有資訊失去?
就以下數組而言,我會說是
A → B x²²= b
B → C x¹³=x²³=c
因此,我們應該看到它沒有失去資訊(我們應該有一條確定的數據直線)。然而,答案說它顯然缺乏資訊,為了表明它失去了資訊,應該找到一個實例 r 使得
r ≠ r¹⋈ r²⋈ r³
我知道我必須做一些陣列和一些連接,但我什至不知道如何啟動陣列……
解決這個練習的訣竅是盡可能多地重複表格的元素。既然
A
是關鍵,你不能重複A
,但你可以,例如,重複兩次B
和C
三次D
。這是一個非常簡單且簡短的範例(請注意,尊重功能依賴關係):r = +---+---+---+---+ | A | B | C | D | +---+---+---+---+ |a1 |b1 |c1 |d1 | |a2 |b1 |c1 |d1 | |a3 |b2 |c2 |d1 | +---+---+---+---+
r
由於這是一個練習,我將把投影的任務留給你R1
,R2
並且R3
發現這三個關係的自然連接與原始關係有何不同r
。最後是一個術語說明:關係實例不是數組!關係的行或列中沒有順序,而在數組中順序是必不可少的。