关系代数中的操作可以分为下面两类:
传统的集合运算:并、差、交、笛卡尔积
专门的关系运算:投影(对关系进行垂直分割)、选择(水平分割)、连接(关系的结合)、除法(笛卡尔积的逆运算)等。
运算符:
∪ ∩ × -
σ π ⋈ ÷
> < = ≠ ≥ ≤
¬ ∧ ∨
示例1:
关系R
关系S
求R∪S,R-S,R∩S,R×S;
R∪S
R-S
R∩S
R×S
示例2:
关系R
关系S
求πC,A( R),σB=’5’( R),R⋈S(2<1),R⋈S(3=1)
πC,A( R)
σB=’5’( R)
R⋈S(2<1)
R⋈S(3=1)
示例3:
关系R
关系S
求R÷S的结果
关于除运算,求解运算如下:
(1)找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做出投影(即将Y列取出)。
S中Y列的投影
(2)被处除关系R中与S中不相同的属性列是X,关系R在属性X上做取消重复值的投影为{X1, X2}。
R中X列的投影
(3)求关系R中X属性对应的像集Y。根据关系R的记录,可以得到与X1值相关的记录;还可以得到与X2有关的记录。
X1的像集
X2的像集
(4)判断包含关系。R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。
R÷S的最终结果
示例4:
外连接:
- 左外链接 ⟕
- 右外连接 ⟖
- 全外连接 ⟗
关系R
关系S
R⋈S
R⟕S
R⟖S
R⟗S