首页 > 技术文章 > 数据库——关系代数中的除法运算【转】

sheropan 2015-11-30 12:41 原文

 

感谢博主:http://www.cnblogs.com/wokofo/archive/2011/05/24/2055127.html

除法运算的定义:


这个概念的描述的非常抽象,刚开始学习的同学完全不知所云。这里通过一个实例来说明除法运算的求解过程
 
设有关系R、S 如图所示,求R÷S 的结果

 

 求解步骤过程:

R÷S:列S中同属性Y(Y1,Y2...)-->列R中不同属性X,取消重复值(X1,X2...)-->R中不同属性(X1,X2...)各自对应的Y值(Y1,Y2...)-->R中某X包含S中全部Y的即为最终解

 

  • 第一步:找出关系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 ,

  

推荐阅读