关系代数中的除法运算
- 前几天的一道作业题涉及到了关系代数的除法运算,看完题目云里雾里,遂查阅资料学习了一番(图片来自网络)
除法运算的定义:
- 看完上面的概念你可能还是不太清楚,相信看完下面的一个实例你就彻底懂了
实例:
- 假设有关系R、S如下图所示,求R ÷ S的结果
-
求解过程如下:
- 第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出),所得结果如下
-
第二步:被除关系R中与S中不相同的属性列是X,关系R在属性(X)上做取消重复值的投影为{X1,X2}
-
第三步:求关系R中X属性对应的像集Y,根据关系R的记录,可以得到与X1值有关的记录,如图3所示;与X2有关的记录,如图4所示
- 第四步:判断包含关系,R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。对比即可发现:X1的像集只有Y1,不能包含关系S中属性Y的所有值,所以排除掉X1;而X2的像集包含了关系S中属性Y的所有值,所以R÷S的最终结果就是X2