關係代數和關係演算的區別
關係代數
關係代數是一種過程化查詢語言,它以關係的例項作為輸入,併產生關係的例項作為輸出。它使用運算子來執行查詢。運算子可以是一元的或二元的。它們接受關係作為輸入,併產生關係作為輸出。關係代數在關係上遞迴地執行,中間結果也被認為是關係。
關係代數的基本運算如下:
選擇
投影
並集
集合差
笛卡爾積
重新命名
關係演算
與關係代數相反,關係演算是一種非過程化查詢語言,也就是說,它說明做什麼,但從不解釋怎麼做。
關係演算存在兩種形式:
元組關係演算 (TRC)
域關係演算 (DRC)
以下是關係代數和關係演算之間的一些重要區別。
序號 | 關鍵 | 關係代數 | 關係演算 |
---|---|---|---|
1 | 語言型別 | 關係代數是過程化查詢語言。 | 關係演算是非過程化或宣告式查詢語言。 |
2 | 目標 | 關係代數的目標是如何獲得結果。 | 關係演算的目標是什麼結果。 |
3 | 順序 | 關係代數指定執行操作的順序。 | 關係演算沒有指定其操作的執行順序。 |
4 | 依賴性 | 關係代數是域無關的。 | 關係演算可以是域相關的。 |
5 | 程式語言 | 關係代數接近於程式語言概念。 | 關係演算與程式語言概念無關。 |
廣告