zoukankan      html  css  js  c++  java
  • 关系代数中的除法运算

          


       这个概念的描述的非常抽象,刚开始学习的同学完全不知所云。这里通过一个实例来说明除法运算的求解过程
      

        设有关系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 ,

           

        也许你现在有点明白除法运算是如何操作的了,下面我们来引申一下,除法运算可以解决什么问题呢?
         看下面一个小例子:
                   设有关系R,S以及RS,如图所示,求RS÷S的结果
       

        很容易求得结果为:{ 张三 } 
        
        所以你很容易看出来RS÷S 在这里解决的问题就是:“得到选修了所有课程的学生”
        RS÷S的意义就是:“在R和S的联系RS中,找出与S中所有的元组有关系的R元组”。

  • 相关阅读:
    C++中Map的使用 (个人简单的对于String的使用)
    具体数学二项式至生成函数章-----致敬Kunth
    C++中String的使用
    C++中Set的使用
    费马小定理,欧拉函数
    数论---同余法则定理
    灵活利用单链表,顺带一提可持久化链表。
    第2章 数字之魅——数字中的技巧
    Mail.Ru Cup 2018 Round 1
    Lyft Level 5 Challenge 2018
  • 原文地址:https://www.cnblogs.com/yuanqi/p/4589967.html
Copyright © 2011-2022 走看看