關係代數中的除法運算

2022-08-27 20:06:10 字數 1093 閱讀 9067

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

設有關係r、s 如圖所示,求r÷s 的結果

求解步驟過程:

第一步:找出關係r和關係s中相同的屬性,即y屬性。在關係s中對y做投影(即將y列取出);所得結果如下

第二步:被除關係r中與s中不相同的屬性列是x ,關係r在屬性(x)上做取消重複值的投影為;

第三步:求關係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元組」。

關係代數 除法運算

首先講講運算的約束條件,在我看的 資料庫系統原理 一書中,假設rs s,那麼一般情況下s的屬性集是rs屬性集的真子集。而樓主給出的原題不符合這個條件 關係r的屬性集為,關係s的屬性集為,實際上s中只有s r 這些屬性參與了運算 這種情況很少發生 要理解除法這個比較複雜的運算,得明白為什麼需要它,也就...

關係代數中的除法

在介紹關係代數的除法以前我們必須熟悉象集的概念 給定乙個關係r x,z x 和z 為屬性組。當 t x x 時,x 在 r 中的象集 images set 為 zx 表示r中屬性組x上值為x的諸元組在屬性組z上分量的集合。s在b2上的象集為上圖右方的關係。r與s的除運算得到乙個新的關係p x p是r...

關係代數運算

五種基本關係代數運算 集合 某些指定的物件集在一起就成了乙個集合,其中每乙個物件叫元素。集合的三特性 確定性 互異性 無序性。1 確定性 指的是概念清晰,物件描述明確,不能含混不清 不能模稜兩可。2 互異性 對於乙個給定的集合,它的任何兩個元素都是不同的。3 無序性 給定的乙個集合,集合內的元素間位...