关系代数是早期的、原理性的、抽象的。
现在用的是商用的sql语言。当DBMS内部处理时,会将其转换成关系代数或相似的内部表现形式。
关系代数
- 传统的集合运算:并、差、交
- 投影、选择
- 笛卡尔积、连接
- 重命名
什么是关系代数
- 是一种抽象的数据查询语言
- 用对关系的运算来表达查询
- 运算对象和运算结果是关系
关系运算符分类
1.传统的集合运算:并、交、差
2.投影和选择
- 投影(Projection)
从关系R中选出若干属性列组成新的关系。

投影运算实例:

这里注意去掉重复的元组。

- 选择(Selection)
从关系R中选出满足给定条件的元组组成新的关系。

思考:选择运算为何无需去除重复元组?
答案:因为经选择运算,列数不变,即结果关系必然包含主键,自然不存在重复元组。
选择运算实例:


多条件选择:

选择+投影:

3.笛卡尔积,连接
- 笛卡尔积

实例:

- 连接(Join)
先作笛卡尔积,再选择。

- 等值连接

- 自然连接


自然连接最为常用,与普通连接有区别。

注意:如果两个关系有多个公共属性,作自然连接时,必须所有公共属性都相等。
