关系代数和关系微积分的区别
关系代数和关系微积分都是形式查询语言。
1. 关系代数
关系代数是一种过程语言。在关系代数中,指定了必须执行操作的顺序。在关系代数中,创建了框架来实现查询。关系代数中包含的基本运算是:
1. Select (σ)
2. Project (Π)
3. Union (U)
4. Set Difference (-)
5. Cartesian product (X)
6. Rename (ρ)
2. 关系微积分
关系微积分是正式的查询语言。它也被称为声明性语言。在关系演算中,没有指定必须执行操作的顺序。关系演算意味着我们必须得到什么结果。
关系微积分有两种变体:
- 元组关系演算 (TRC)
- 领域关系演算 (DRC)
关系演算表示为:
{ t | P(t) }
Where,
t: the set of tuples
p: is the condition which is true for the given set of tuples.
关系代数和关系微积分的比较区别:
编号 | 关系代数 | 关系微积分 |
---|---|---|
1 | 它是一种程序语言。 | 关系微积分是声明性语言。 |
2 | 关系代数是指如何得到结果。 | 关系微积分意味着我们必须获得什么结果。 |
3 | 在关系代数中,指定了必须执行操作的顺序。 | 在关系微积分中,未指定顺序。 |
4 | 关系代数独立于领域。 | 关系演算可以是域相关的。 |
5 | 关系代数更接近于编程语言。 | 关系微积分并不接近于编程语言。 |
6 | SQL 仅包含关系代数的一些特征。 | SQL 在更大程度上基于元组关系演算。 |
7 | 关系代数是可以表达查询的语言之一,但查询也应该用关系演算来表达,以便关系完整。 | 为了使数据库语言在关系上是完整的,用它编写的查询必须在关系演算中是可表达的。 |