6.3 域关系演算
- 关系代数(
relational algebra
)定义了一套在表上运算且输出结果也是表的代数运算。这些运算可以混合使用来得到表达所希望查询的表达式。关系代数定义了关系查询语言
中使用的基本运算。
- 关系代数运算可以分为
- 基本运算。
- 附加的运算,可以用基本运算表达。
- 扩展的运算,其中的一些扩展了关系代数的表达能力。
- 关系代数是一种简洁的、形式化的语言,不适合于那些偶尔使用数据库系统的用户。因此,商用数据库系统采用有更多”语法修饰”的语言。从第3章到第5章我们讨论了最有影响力的语言——
SQL
它是基于关系代数的。
- 元组关系演算(
tuple relational calculus
)和域关系演算(domain relational calculus
)是非过程化语言,代表了关系查询语言所需的基本能力。基本关系代数是一种过程化语言,在能力上等价于被限制在安全表达式范围内的关系演算的这两种形式。
- 关系演算是简洁的、形式化的语言,并不适合于那些偶尔使用数据库系统的用户。这两种形式化语言构成了两种更易使用的语言
QBE
和Datalog
的基础,我们将在附录B中介绍它们。