2.4 关系代数
为什么要学习关系代数?
- 关系数据库管理系统RDBMS是建立在关系代数这个严密数学基础上
- 用高级语言写完SQL语句后,RDBMS将转换SQL语句成为关系代数中的关系表达式,其运算结果是还是关系(元组集合)。
- 然后将关系运算转换成对操作系统能够识别的对单条记录的操作的目标代码
- 关系代数类似于数据库操作(如:查寻)的中间语言
- 详见第9章关系查询处理和查询优化
1、关系代数是一种抽象的查询语言,它用对关系的运算来表达查询
2、关系代数
- 运算对象是关系
- 运算结果亦为关系
- 关系代数的运算符有两类:集合运算符和专门的关系运算符。关系是特殊的集合,集合中元素是元组
3、传统的集合运算是从关系的“水平”方向即行的角度进行
4、专门的关系运算不仅涉及行而且涉及列
2.4.1 传统的集合运算
2.4.2 专门的关系运算
基于上面的几个概念给出如下四个关系专用的运算:
-
选择(selection)
-
投影(projection)
-
连接(join)
-
除运算(division)
1、关系代数运算 -
关系代数运算
(1)并、差、交、笛卡尔积、投影、选择、连接、除 -
基本运算
(1)并、差、笛卡尔积、投影、选择 -
交、连接、除
(1)可以用5种基本运算来表达
(2)引进它们并不增加语言的能力,但可以简化表达 -
关系代数表达式:关系代数运算经有限次复合后形成的表达式
-
典型关系代数语言
(1)ISBL(Information System Base Language) -
由IBM United Kingdom研究中心研制
-
用于PRTV(Peterlee Relational Test Vehicle)实验系统