資料庫基礎--關係代數中的除法運算
阿新 • • 發佈:2019-01-28
除法運算的定義:
這個概念的描述的非常抽象,剛開始學習的同學完全不知所云。這裡通過一個例項來說明除法運算的求解過程
設有關係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元組”。