Relational-Theory
使用關係代數刪除重複鍵
嗨,我是數據庫和關係代數的新手。我想知道是否有一種方法可以使用具有相同鍵但值不同的關係代數從表中刪除元組。
例如我只想保留
$$ 1, 5 $$和$$ 4, 9 $$但刪除其他所有內容。
Key | Value -------|------- 1 | 5 2 | 6 2 | 7 2 | 8 4 | 9
謝謝。
書中描述了關係代數的許多變體和擴展。我假設你有一個 group by 運算符,它是經典關係代數的擴展,它寫成:
a 1 … a n γ f 1 … f m
其中每個 a i是一個分組屬性,而 f i是一個聚合函式。
使用此運算符,您的查詢可以通過以下表達式回答(假設您的關係名稱是 R):
R ⨝ π Key (σ COUNT()=1 ( Key γ COUNT() (R)))
首先,我們按 Key 分組並只保留具有唯一值的組,然後我們對 R 本身執行自然連接以僅維護只有一個 Key 值的元組。