關(guān)系代數(shù)的"除法"

1. 除法運(yùn)算的定義:

給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算可以得到一個(gè)新的關(guān)系P(X),P是R中滿(mǎn)足下列條件的元組在X 屬性列上的投影: 元組在X上的分量值x的像集Y(x)包含S在Y上的投影的集合。

2.求解步驟過(guò)程:

第一步:找出關(guān)系R和關(guān)系S中相同的屬性,即Y屬性。在關(guān)系S中對(duì)Y做投影(即將Y列取出);

第二步:被除關(guān)系R中與S中不相同的屬性列是X,關(guān)系R在屬性X上做取消重復(fù)值的投影;

第三步:求關(guān)系R中X屬性對(duì)應(yīng)的像集Y;

第四步:判斷包含關(guān)系,R÷S其實(shí)就是判斷關(guān)系R中X各個(gè)值的像集Y是否包含關(guān)系S中屬性Y的所有值。

3.SQL中除法運(yùn)算的實(shí)現(xiàn)

R(X,Y)÷S(Y,Z)的運(yùn)算用結(jié)構(gòu)化語(yǔ)言SQL 語(yǔ)句可表達(dá)為下列形式:

select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)

4.例如下面的“完成”和“DB項(xiàng)目”和它們的除法:

完成÷DB項(xiàng)目

下面說(shuō)說(shuō)我自己的理解,如何通過(guò)關(guān)系代數(shù)的除法,得到最后的完成÷DB項(xiàng)目

完成(Student,Task)=R(X,Y)
DB項(xiàng)目(Task)=S(Y)

第一步:排除R(X,Y)中Y列中不包含S(Y)的行,得到:

Student Task
Fred Database1
Fred Database2
Eugene Database1
Sara Database1
Sara Database2

第二步:找出存在R(X,Y)中沒(méi)有S(Y)中的項(xiàng),即未完全包含S(Y)中的列元素,得到:

Student Task
Eugene Database1

第三步:排除R(X,Y)中,第二步中得到的行.即:

Student Task
Fred Database1
Fred Database2
Sara Database1
Sara Database2

第四步:得到R(X).即:

Student
Fred
Fred
Sara
Sara

第五步:消除重復(fù).即:

Student
Fred
Sara

即得到最后結(jié)果:


參考文章:

新手村的0級(jí)玩家的文章:SQL語(yǔ)句實(shí)現(xiàn)關(guān)系代數(shù)中的“除法”
維基百科:關(guān)系代數(shù)-除法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前面介紹了關(guān)系模型主體結(jié)構(gòu)。關(guān)系模型的另一重要組成部分是操作機(jī)制,或者說(shuō)是 查詢(xún)語(yǔ)言,它負(fù)責(zé)基礎(chǔ)數(shù)據(jù)的檢索與更新。...
    板藍(lán)根plank閱讀 4,223評(píng)論 1 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語(yǔ)閱讀 4,114評(píng)論 0 6
  • 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用 weka 中的常用分類(lèi)器,完成數(shù)據(jù)分類(lèi)任務(wù)。 二、實(shí)驗(yàn)內(nèi)容 了解 weka 中 explo...
    yigoh閱讀 8,870評(píng)論 5 4
  • [TOC] ER模型 實(shí)體 屬性(實(shí)體的屬性) 域(屬性的取值范圍) 候選碼(唯一標(biāo)識(shí)實(shí)體的屬性或最小屬性組)必須...
    梁思宇閱讀 3,602評(píng)論 1 6
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程,因...
    小菜c閱讀 7,388評(píng)論 0 17

友情鏈接更多精彩內(nèi)容