加载中...

关系代数(Relational Algebra)是埃德加·科德随关系模型提出的形式化查询语言:把关系(表)视为元组集合,通过一组代数算子对关系进行运算,运算结果仍是关系,因而算子可以任意组合(封闭性)。
核心算子包括:选择(σ,按条件筛选行)、投影(π,选取列)、并、差、笛卡尔积与重命名;由它们可导出交、连接(θ 连接、自然连接、等值连接)、除法等。扩展关系代数进一步加入聚合、分组、排序、外连接与去重等,以覆盖实际 SQL 语义。
SQL 查询在数据库内部被翻译为关系代数表达式(逻辑计划);查询优化的本质就是利用代数等价规则改写表达式——选择下推、投影下推、连接交换与结合等重写的正确性均由代数定律保证。与之对偶的关系演算(声明"要什么"而非"怎么算")与关系代数表达能力等价,这一等价性(科德定理)是"声明式 SQL 可以被自动优化执行"的理论根基。
关系代数是数据库课程与查询引擎实现的公共语言,理解它是读懂执行计划与优化器行为的前提。

登录 后参与讨论
暂无讨论,来发表第一条评论吧