(一)什么是关系代数
关系代数操作包括集合操作和纯关系操作两大类:、
1,
2,
(二)基本操作
1,并
比如:
2,差
比如:
3,笛卡尔积
比如:
两个关系的笛卡尔积运算性质如下:
4,选择(纯关系操作,选择相应的元组)
比如:
5,投影(纯关系操作,选择相应的)
比如:
6,综合关系代数:
比如选择和投影:
7,更名操作:也是基本操作,下面例子看不懂先看(三)连接操作
(三)拓展操作(所谓拓展操作是指可以有基本操作组合得到同样的效果,比如后面的连接操作可由笛卡尔积和选择得到)
1,交
比如:
2,连接(包括θ连接操作,)
θ连接操作:便利理解可以看做是在两个关系R和S笛卡尔积的基础上进行满足属性Aθ属性B的选择操作,但是实际上连接操作是DBMS直接进行连接的而不必先笛卡尔积,实际上直接连接操作效率会更高些。
等值连接:特殊的θ连接
自然连接(多数情况下是这个):特殊的等值连接
外连接:解决自然连接元组失配的问题
外连接又可以分为:即哪边外连接就保留哪边丢失的元组
基本上选择哪一种外连接需要根据需求做出判断
3,除运算
4,组合操作举例练习:
书写代数运算表达式的基本思路:
(四)关系代数运算的约束
1,并交差需要满足并相容性
例子如下:
(五)注意:后面将要学习的SQL其实就是用英语表达出来关系代数的运算。