1. 程式人生 > >關係代數中的除法運算

關係代數中的除法運算

資料庫考試中經常會出現關係運算題目
而一般的加減乘運算相對比較簡單,通常不會直接出題
比較容易亂的是除法
認真看下面這段中的圖,很容易就理解出除法的

除法運算的定義:
這裡寫圖片描述

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

設有關係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
這裡寫圖片描述

原文連結