數據庫的除運算

這裏記錄一下我對數據庫除運算的理解。
在《數據庫系統概論第五版》的書中是這樣定義的。
設關係R除以關係S的結果爲關係T,則T包含所有在R但不在S中的屬性及其值,且T的元組與S的元組的所有組合都在R中。
在這裏插入圖片描述
這是一個使用比較廣泛的例子。

根據這個例子我們應該怎麼理解除運算呢?
首先R的屬性有ABC,S的屬性有BCD,所以包含着R中但卻不在S中的屬性就是A。
所以T的屬性裏面只有A這一項屬性。

其次T的元組與S的元組的所有組合都在R中,這句話的意思就是T和S的所有組合都必須在R中。
在這個實際例子中就是 R 必須包含a1,b1,c2 a1,b2,c1 a1,b2,c3這三個屬性才能說是被除數。
因此除運算也經常被用來求如同“檢索至少選修了李老師所有課程的學生名字”這樣的問題,這個所有課程,我們就是S。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章