Join
非平凡連接與自身的關係
我是一名哲學家,正在做關係代數的第一步。所以這裡有一個謎題:
假設我們有一個具有屬性“Ra”和“Rb”的關係 R。是否可以在 R 上進行重命名和自然連接操作並收到三元組 (a, b, a) 的結果?
如果我執行以下步驟:
- 將 R 重命名為 S。
- 將 S 中的所有屬性重命名為“Sa”、“Sb”。
- 在“Rb”上重命名“Sb”和
- 將 R 和 S 進行自然連接。
它會起作用嗎?如何正確編寫這樣的請求?
您所描述的只是
R
其中包括a
兩次的投影。不需要“R 上的重命名和自然連接操作”。
- 將 R 重命名為 S
- 將 Sa 重命名為 Sc
- 自然連接 T = R |><| 小號
- 將 Tc 重命名為 Ta
ρ c/a(( ρ a/c( ρ R/S)) |><| R)
SQL 程式碼如下所示:
SELECT R.a, R.b, S.c AS a FROM R NATURAL JOIN ( SELECT b, a AS c FROM R ) AS S ;