關系代數中的除法運算


      


   這個概念的描述的非常抽象,剛開始學習的同學完全不知所雲。這里通過一個實例來說明除法運算的求解過程
  

    設有關系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元組”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM