关系代数和关系演算的区别
关系代数
关系代数是一种过程化查询语言,它以关系的实例作为输入,并产生关系的实例作为输出。它使用运算符来执行查询。运算符可以是一元的或二元的。它们接受关系作为输入,并产生关系作为输出。关系代数在关系上递归地执行,中间结果也被认为是关系。
关系代数的基本运算如下:
选择
投影
并集
集合差
笛卡尔积
重命名
关系演算
与关系代数相反,关系演算是一种非过程化查询语言,也就是说,它说明做什么,但从不解释怎么做。
关系演算存在两种形式:
元组关系演算 (TRC)
域关系演算 (DRC)
以下是关系代数和关系演算之间的一些重要区别。
序号 | 关键 | 关系代数 | 关系演算 |
---|---|---|---|
1 | 语言类型 | 关系代数是过程化查询语言。 | 关系演算是非过程化或声明式查询语言。 |
2 | 目标 | 关系代数的目标是如何获得结果。 | 关系演算的目标是什么结果。 |
3 | 顺序 | 关系代数指定执行操作的顺序。 | 关系演算没有指定其操作的执行顺序。 |
4 | 依赖性 | 关系代数是域无关的。 | 关系演算可以是域相关的。 |
5 | 编程语言 | 关系代数接近于编程语言概念。 | 关系演算与编程语言概念无关。 |
广告