数据库复习(关系代数)(转)
关系代数
问:为何称为代数?
答:因为存在操作符和操作数,操作数为表,操作符为交、并等;
关系代数有分为基于集合的关系代数和基于包的关系代数;
关系代数的基本操作:并、选择、投影、笛卡尔积、差、重命名;
基本操作的意思是其他的操作符可以通过基本操作推出;
注意:如果我们使用并、交、差运算,必须保证R和S的属性集合是相同的,当然如果不同,也可以通过重命名操作;
补充:
1.自然连接
2. θ连接
3.重命名
表达式树
基于包的关系代数
1.并
如果元组t在R中出现m次,S中出现n次,则在R∪S中出现m+n次;
2.交
如果元组t在R中出现m次,S中出现n次,则R∩S中出现min(m,n)次;
3.差
如果元组t在R中出现m次,S中出现n次,则R-S中出现(1)如果m>n,则出现m-n次;(2)如果m<n,则出现0次;
4.消除重复操作符
δ(R) 能对关系R消除重复元组;
5.聚集操作符
SUM(A)
AVG(A)
MIN(A)
MAX(A)
COUNT(A)
其中A为某个属性;
6.分组操作符
γ
包含了以某个属性作为分组属性,还有聚集操作符;
7.排序元组
τA(R) 表示根据A属性进行排序;
8.外连接
左外连接:
右外连接:
9.扩展投影运算
关系代数表达式的分步表示
因为用一个表达式直接表示复杂的代数表达式会很不清楚,因此我们可以通过分步表示;
比如:
可以表示为: