4、除(Division):
  除操作是同时从行和列的角度进行运算。
  定义:象集(Image Set)
  给定关系R(X , Z), X, Z是属性组,x是X上的取值,定义当t[X]=x时,x在R中的象集为:
  
  即从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量。
  例如,图3-10中,a)为学生选课表R(X姓名,Z课程),X上的取值有x=张会,x=张会在选课表R中的象集为表b)的内容,张会同学所选修的全部课程。

  图3-10 象集示例

  定义:除
  给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组,R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X属性列上分量值x的象集包含S在Y上投影的集合。记作:

其中为x在R中的象集,x=
  例如,有关系R和S分别为图3-11中的a)和b),R/S的结果为图3-11c)。除运算过程分析如下:在关系R中,三个属性分为学生和(教师,课程)两组。在关系S中,三个属性分为(教师,课程)和学分两组。计算R/S,实际上是要从学生选修的教师和课程关系中,找出选课符合关系S中所以教师和课程的元组集合的学生。在关系R中学生有4个取值:{张会、李学、王大、赵四}。其中
  张会的象集为(教师和课程集合):{(t1,c2), (t2,c3), (t2,c1)}
  李学的象集为(教师和课程集合):{(t3,c7), (t2,c3)}
  王大的象集为(教师和课程集合):{(t4,c6)}
  赵四的象集为(教师和课程集合):{(t6,c6)}
  S在(教师、课程)上的投影为{(b1,c2), (b2,c3), (b2,c1)}。在R中,分析前面的四个象集,只有张会的象集(教师、课程) 张会包含了S在(教师、课程)属性组上的投影,所以,R÷S = {张会}(就是说只有张会一个学生选择了关系S中的教师和课程集合

  图3-11 除运算示例
(a)  关系R
学生 教师 课程
张会 t1 c2
李学 t3 c7
王大 t4 c6
张会 t2 c3
赵四 t6 c6
李学 t2 c3
张会 t2 c1
(b)  关系S
教师 课程 学分
t1 c2 d1
t2 c1 d1
t2 c3 d2

(c)  R/S 结果
学生
张会