Join

非平凡連接與自身的關係

  • December 27, 2020

我是一名哲學家,正在做關係代數的第一步。所以這裡有一個謎題:

假設我們有一個具有屬性“Ra”和“Rb”的關係 R。是否可以在 R 上進行重命名和自然連接操作並收到三元組 (a, b, a) 的結果?

如果我執行以下步驟:

  1. 將 R 重命名為 S。
  2. 將 S 中的所有屬性重命名為“Sa”、“Sb”。
  3. 在“Rb”上重命名“Sb”和
  4. 將 R 和 S 進行自然連接。

它會起作用嗎?如何正確編寫這樣的請求?

您所描述的只是R其中包括a兩次的投影。不需要“R 上的重命名和自然連接操作”。

  1. 將 R 重命名為 S
  2. 將 Sa 重命名為 Sc
  3. 自然連接 T = R |><| 小號
  4. 將 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
; 

引用自:https://dba.stackexchange.com/questions/213691