Relational-Theory
我的關係代數運算是否產生了預期的結果?
我有這些表:
水手 sid sname 評級 年齡 --- ------ ------ --- 22 達斯汀 7 45 31 約翰 8 55 58 ben 10 35
船 出價 bname 顏色 --- --------- ----- 101 因特拉克藍 102因特拉克紅 103 快船綠 104 快船紅
儲備金 sid投標日期 --- --- ---------- 22 104 8/10/2014 22 103 7/05/2014 58 103 8/11/2014 31 102 8/11/2014
我正在嘗試查找同時預訂了紅色和綠色船的水手**sname和rating,我需要用關係代數表示法來寫。
我試過這個:
文本版本,用於複製/參考目的:
R1 := 船 ⋈ 服務 R2 := σ顏色='紅色' (R1) R3 := σ顏色='綠色' (R1) R4 := R2 ∩ R3 R5 := R4 ⋈ 水手 R6 := π 名稱,評級(R5)
我被告知這是錯誤的,但沒有解釋原因。有人可以向我解釋問題是什麼嗎?
此行被標記為錯誤:
R4 := R2 ∩ R3
這確實是錯誤:
R4 := R2 ∩ R3
如果我們嘗試獲得解決方案的中間結果,我們會得到:
R1:
出價 bname 顏色 sid 日期 --- --------- ----- --- ---------- 102 因特拉克紅 31 8/11/2014 103 快船綠 22 7/05/2014 103 快船綠 58 8/11/2014 104 快船紅 22 8/10/2014
然後:
**R2:(**只有“紅色”)
出價 bname 顏色 sid 日期 --- --------- ----- --- ---------- 102 因特拉克紅 31 8/11/2014 104 快船紅 22 8/10/2014
**R3:(**只有“綠色”)
出價 bname 顏色 sid 日期 --- --------- ----- --- ---------- 103 快船綠 22 7/05/2014 103 快船綠 58 8/11/2014
R4
將是一個空關係,因為沒有任何東西可以既是紅色又是綠色。當然,這不是練習所要求的。R4:
出價 bname 顏色 sid 日期 --- --------- ----- --- ----------
您需要做的是分別僅使用屬性來獲取
R2'
和、和R3'
的投影。然後取他們的交點:R2``R3``sid``R4
R1: = ... R2: = ... R3 := ... **R2' := π sid (R2) R3' := π sid (R3) R4 := R2' ∩ R3'** R5 := ... R6 := ...