概述
- 基于一组以关系为操作对象的运算符
- 原子操作数:关系实例变量,元组集合常量
五中基本操作:选择,投影,笛卡尔积,并,差
附加操作(可有基本操作导出):交,连接,除
交并差运算
前提条件:相容关系(并兼容)
关系间具有相同的目(属性的数量),相应的属性的域相同
并运算:
结果包含两个关系的所有元组,去除重复部分
差运算:
结果属于前者不属于后者的元组构成
交运算:
结果是既属于前者又属于后者的元组构成
投影运算
- 一元,对属性操作的运算
- 从关系中选择若干列组成新的关系
- 表示方法:πC,A (R ) ---------------C,A为属性,R为关系名
新生成关系,在没有重复元组的情况下元组数不变,反之减少
在DBMS中不会自动删除重复列
选择运算
- 一元,对元组操作的运算
- 从关系中原则满足条件的元组构成新的关系
- 表示方法:σ F(R) -----------F为逻辑表达式
笛卡尔积运算
- 属性拼接,元组两两拼接
- R:m目,x个元组;S:n目,y个元组。则进行运算后有m+n目,x*y个元组
- 如果出现相同属性名,则对属性进行重命名
- 表示方法:R×S
连接运算
一般进行笛卡尔积后,会进行选择运算。我们称为连接运算
θ-连接:
等值连接:
当θ为等号时,称为等值连接
自然连接:
特殊的等值连接,去掉作为等值连接条件的重复列,只保留一列。
在进行自然连接后,有时会出现一个关系中的一个元组的属性值在另一个关系中匹配不到,这种元组称为悬浮元组。
外连接:
在自然连接的基础上保留悬浮元组,我们要进行外连接,没有的属性赋空值
- 左外连接:保留运算符左边的悬浮元组
- 右外连接:保留运算符右边的悬浮元组
- 完全外连接:保留运算符两边面的悬浮元组
自身运算:
当进行自身运算时,我们需要进行重命名操作
除运算
查询一个关系的属性值集合是否包含另一个关系