版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.2關(guān)系代數(shù)關(guān)系模型的重要部分是關(guān)系操縱,關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達(dá)方式,它是用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢的。利用關(guān)系代數(shù)可以演示一個(gè)查詢語言從關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中檢索信息的潛力,可以用最簡(jiǎn)單的形式來表達(dá)所有關(guān)系數(shù)據(jù)庫(kù)查詢語言必須完成的運(yùn)算的集合,這些基本的運(yùn)算對(duì)解釋標(biāo)準(zhǔn)查詢語言SQL如何被執(zhí)行很有幫助,同時(shí)也有利于培養(yǎng)關(guān)系運(yùn)算的思維能力。郭文明 2003.06.051.2關(guān)系代數(shù)關(guān)系代數(shù)的運(yùn)算對(duì)象是關(guān)系,運(yùn)算結(jié)果亦為關(guān)系。關(guān)系代數(shù)用到的運(yùn)算符包括四類;集合運(yùn)算符、專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符。關(guān)系代數(shù)的運(yùn)算按運(yùn)算符的不同可分為傳統(tǒng)的集合運(yùn)算和專門的關(guān)
2、系運(yùn)算兩類。其中傳統(tǒng)的集合運(yùn)算將關(guān)系看成元組的集合,其運(yùn)算是從關(guān)系的“水平”方向即行的角度來進(jìn)行。而專門的關(guān)系運(yùn)算不僅涉及行而且涉及列。比較運(yùn)算符和邏輯運(yùn)算符是用來輔助專門的關(guān)系運(yùn)算符進(jìn)行操作的。 郭文明 2003.06.05關(guān)系代數(shù)運(yùn)算符運(yùn)算符 符號(hào)含義 鍵盤格式 示例 集合運(yùn)算符 并 UNION RS,或 R UNION S 交 INTERSECTRS,或 R INTERSECT S - 差 MINUS R-S,或 R MINUS S 乘 TIMES RS,或 R TIMES S 專門 關(guān)系運(yùn)算符 選擇 R where C 姓名=“張三”(S)或S where 姓名=張三 投影 R 考號(hào),
3、姓名(S)或S考號(hào),姓名 連接 JOIN RS,或R JOIN S 除 DIVIDEBY RS,或R DIVIDEBY S 關(guān)系代數(shù)中,這些運(yùn)算經(jīng)有限次復(fù)合后形成的式子稱為關(guān)系代數(shù)表達(dá)式。 郭文明 2003.06.051.2.1傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,包括并、差、交、廣義笛卡爾積。定義1.2.1 設(shè)關(guān)系R和關(guān)系S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域,則可以定義并、差、交運(yùn)算如下: 并(Union): 關(guān)系R與關(guān)系S的并記作:RS=t|tRtS 其結(jié)果仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成。差(Difference): 關(guān)系R與關(guān)系S的差記作:RS
4、= t|tRt!S 其結(jié)果仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成。郭文明 2003.06.051.2.1傳統(tǒng)的集合運(yùn)算交(Intersection):關(guān)系R與關(guān)系S的交記作:RS= t|tRtS 其結(jié)果仍為n目關(guān)系,由既屬于R又屬于S的元組組成。關(guān)系的交可以用差來表示,即RS=R-(R-S)。廣義笛卡爾積(Extended Cartesian Product):兩個(gè)分別為n目和m目的關(guān)系R和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1k2個(gè)元組。記作:RS
5、=trts|trRtsS 郭文明 2003.06.05傳統(tǒng)集合運(yùn)算舉例 R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 RS A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 RS A B C a1 b2 c2 a2 b2 c1 郭文明 2003.06.05傳統(tǒng)集合運(yùn)算舉例 R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 R-S A B C a1 b1 c1 RS A B C A B C a1 b2 c1 a1 b2 c2 a1 b2 c1 a1
6、b3 c2 a1 b2 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b2 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1郭文明 2003.06.051.2.2 專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算包括選擇、投影、連接、除等。為了敘述上的方便,先引入幾個(gè)常用記號(hào)。設(shè)關(guān)系模式為R(Al,A2,An)。它的一個(gè)關(guān)系設(shè)為R。tR表示t是R的一個(gè)元組。tAi則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。若A=
7、Ai1,Ai2,Aik,其中Ail,Ai2,Aik是A1,A2,An中的一部分,則A稱為屬性列或域列。 郭文明 2003.06.051.2.2 專門的關(guān)系運(yùn)算R為n目關(guān)系,S為m目關(guān)系。trR,tsS,trts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。定義tX=x時(shí),x在R中的象集(Images Set)為: Zx=tZtR,tX=x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。郭文明 2003.06.05學(xué)生-課程數(shù)據(jù)庫(kù)S 學(xué)生表 學(xué)號(hào) 姓名 性別 年齡 所在系 Sno Sname S
8、sex Sage Sdept 2000101 張明 男 19 CS 2000102 李華 女 20 IS 2000103 王強(qiáng) 男 18 MA 2000104 秦永 男 19 CSC 課程表 課程號(hào) 課程名 學(xué)分 Cno Cname Ccredit 1 數(shù)據(jù)庫(kù) 3 2 數(shù)學(xué) 4 3 信息系統(tǒng) 3 4 操作系統(tǒng) 3SC 學(xué)生選課表 學(xué)號(hào)課 程號(hào) 成績(jī) Sno Cno Grade 200101 1 92 200101 2 85 200101 3 88 200102 2 90 200102 3 80郭文明 2003.06.05選擇(Selection)定義1.2.2 選擇 選擇又稱為限制(Restr
9、iction),它是在關(guān)系R中選擇滿足給定條件的諸元組,記作: F(R)=ttRF(t)=真 其中F表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值真或假。邏輯表達(dá)式F由邏輯運(yùn)算符,連接各算術(shù)表達(dá)式組成。算術(shù)表達(dá)式的基本形式為:X1Y1,其中表示比較運(yùn)算符,它可以是、=19 and Sage=20 郭文明 2003.06.05投影(Projection)定義1.2.3 投影 關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系,是對(duì)關(guān)系的垂直分解。記作: A(R)=tA|tR 其中A為R中的屬性列集合。 投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因?yàn)槿∠四承傩粤泻?,就可能出現(xiàn)重復(fù)
10、行,應(yīng)取消這些完全相同的行。郭文明 2003.06.05投影(Projection)例3 查詢學(xué)生的姓名和所在系。 Sname,Sdept(S) 或 2,5(S) 或 SSname,Sdept例4 查詢學(xué)生關(guān)系Student中都有哪些系。 Sdept(S) 或 SSdept郭文明 2003.06.05連接(Join)定義1.2.4 連接 連接也稱為連接。它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。記作: RS=trts|trRtsStrAtsB AB 其中A和B分別為R和S上度數(shù)相等且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算的結(jié)果是從R和S的廣義笛卡爾積RS中選取R關(guān)系在A屬性組上的值
11、與S關(guān)系在B屬性組上值滿足比較關(guān)系的元組。 郭文明 2003.06.05連接(Join)連接運(yùn)算中有兩種最為重要也最為常用的連接,一種是等值連接(equijoin),另一種是自然連接(Naturaljoin)。另外還有外連接、左連接、右連接等。為“=”的連接運(yùn)算稱為等值連接。它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組.自然連接(Natural join)是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。 郭文明 2003.06.05外連接定義1.2.5 外連接 表R(A1,A2,An,B1, B2,Bk)和S(B1,B2
12、,Bk,C1,C2,Cm)的外連接RoS,行t屬于表RoS,如果下列情況之一發(fā)生: 1)可連接的行u,v分別在R和S中,有uBi=vBi(0=iB2 S o 外連接 OUTER JOIN R o S Lo 左連接 LOUTER JOIN R Lo S Ro 右連接 ROUTER JOIN R Ro S 郭文明 2003.06.05連接運(yùn)算舉例RA B C a1 b1 5 a1 b2 6a2 b3 8a2 b4 12 S B E b1 3 b2 7 b3 10 b3 2 b5 2 連接R CE S A R.B C S.B Ea1 b1 5 b2 7a1 b1 5 b3 10a1 b2 6 b2
13、7a1 b2 6 b3 10a2 b3 8 b3 10 等值連接R R.B=S.B S A R.B C S.B E a1 b1 5 b1 3a1 b2 6 b2 7a2 b3 8 b3 10a2 b3 8 b3 2 自然連接RSA B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2郭文明 2003.06.05連接運(yùn)算舉例RA B C a1 b1 5 a1 b2 6a2 b3 8a2 b4 12 S B E b1 3 b2 7 b3 10 b3 2 b5 2 外連接R o SA B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2
14、a2 b4 12 nullnull b5 null 2 左連接R Lo S A B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2a2 b4 12 null右連接R Ro SA B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2null b5 null 2郭文明 2003.06.05除(Division)定義1.2.6 除 給定關(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中滿足下列條件的元組在X屬性列上的投影
15、:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作: RS=trX|trRy(S)Yx 其中Yx為x在R中的象集,x=trX。郭文明 2003.06.05除(Division)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算。除運(yùn)算是乘運(yùn)算的逆運(yùn)算,給定兩個(gè)表T和S,如果表R是通過R=TS定義的,那么有T=RS成立。在這個(gè)意義上可解釋為什么稱作除運(yùn)算。 郭文明 2003.06.05除運(yùn)算舉例 RA B Ca1 b1 c2a2 b3 c7a3 b4 c6a1 b2 c3a4 b6 c6a2 b2 c3a1 b2 c1SB C Db1 c2 d1b2 c1 d1b2 c3 d2RSAa1郭文明 2003.
16、06.05除運(yùn)算舉例 在關(guān)系R中,A可以取四個(gè)值a1,a2,a3,a4。其中: a1的象集為(b1,c2),(b2,c3,),(b2,c1) a2的象集為(b3,c7),(b2,c3) a3的象集為(b4,c6) a4的象集為(b6,c6) S在(B,C)上的投影為(b1,c2),(b2,c1),(b2,c3)顯然a1的象集包含了S在(B,C)屬性組上的投影,所以RS=a1.郭文明 2003.06.05除運(yùn)算舉例 R1)給出S,求得 T=RS。注意: TS都在R中。 S T 2)給出S,求得 T=RS。注意: TS都在R中。 S T3)給出S,求得 T=RS。注意: TS都在R中。 S T4)
17、給出S,求得 T=RS。注意:TS都在R中。 S TABCa1b1c1a2b1c1a1b2c1a1b2c2a2b1c2a1b2c3a1b2c4a1b1c5Cc1ABa1b1a2b1a1b2Cc1c2ABa1b2a2b1Cc1c2c3c4ABa1b2BCb1c1Aa1a2郭文明 2003.06.051.2.3關(guān)系代數(shù)綜合例子以下例子建立在下面CAP數(shù)據(jù)庫(kù)上。 C顧客 cid cname city discnt c001 李廣 天津 10.00 c002 王開基 北京 12.00 c003 安利德 北京 8.00 c004 曹士雄 天津 8.00 c006 曹士雄 廣州 0.00P商品pid pn
18、ame city quantity price p01 梳子 天津 111400 0.50 p02 刷子 成都 203000 0.50 p03 刀片 西安 150600 1.00 p04 鋼筆 西安 125300 1.00 p05 鉛筆 天津 221400 1.00 p06 文件夾 天津 123100 2.00 p07 盒子 成都 100500 1.00 A代理 aid aname city percent a01 史可然 北京 6 a02 韓利利 上海 6 a03 杜不朗 成都 7 a04 甘瑞 北京 6 a05 敖斯群 武漢 5 a06 史可然 天津 5O訂單ordno month cid
19、 aid pid qty dollars 1011 01 c001 a01 p01 1000 450.00 1012 01 c001 a01 p01 1000 450.00 1019 02 c001 a02 p02 400 180.00 1017 02 c001 a06 p03 600 540.00 1018 02 c001 a03 p04 600 540.00 1023 03 c001 a04 p05 500 450.00 1022 03 c001 a05 p06 400 720.00 1025 04 c001 a05 p07 800 720.00 1013 01 c002 a03 p03
20、1000 880.00 1026 05 c002 a05 p03 800 704.00郭文明 2003.06.051.2.3關(guān)系代數(shù)綜合例子例1 查詢所有定購(gòu)了至少一個(gè)價(jià)值為0.50的商品的顧客的名字。 cname(pid(price=0.50(P)O)C)例2 找出全部沒有在代理商a03處訂購(gòu)商品的顧客cid值。 cid(O)cid(aid=a03(O) 或 cid(C)cid(aid=a03(O)例3 找出只在代理商a03處訂購(gòu)商品的顧客。 cid(O)cid(aida03(O)郭文明 2003.06.051.2.3關(guān)系代數(shù)綜合例子例4 找出沒有被任何一個(gè)在北京的顧客通過在上海的代理商訂購(gòu)
21、的所有商品。 在北京的顧客通過在上海的代理商訂購(gòu)的商品: pid(cid(city=北京(C) O)city=上海(A) 從所有商品中剔除以上商品: pid(P)pid(cid(city=北京(C) O)city=上海(A)例5 找出訂購(gòu)了所有價(jià)格為0.50的商品的顧客名字。 cname(cid,pid(O)pid(price=0.50(P) C)例6 找出訂購(gòu)所有被任何人訂購(gòu)過一次的商品的顧客cid。 cid,pid(O)pid(O)例7 找出所有接到至少顧客c004訂購(gòu)的商品集合的訂單的代理商的aid。 aid,pid(O)pid(cid=c004(O)郭文明 2003.06.051.2.3關(guān)系代數(shù)綜合例子例8 找出訂購(gòu)了p01和p07這兩種商品的顧客的cid。 錯(cuò)誤 cid(pid=p01 and pid=p07(O) 錯(cuò)誤 cid(pid=p01 or pid=p07(O) 正確 cid(pid=p01(O) cid(pid=p07(O)例9 找出從至少一個(gè)接受訂購(gòu)商品p03訂單的代理商處訂購(gòu)過商品的顧客cid。 解題思路: cid(aid(pid=p03(O) O)訂購(gòu)商品p03的代理商從這些代理商處訂購(gòu)商品的顧客p03郭文明 2003.06.051.2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育培訓(xùn)項(xiàng)目實(shí)施合同
- 2025公司勞動(dòng)合同協(xié)議書版
- 2025年度農(nóng)村房屋建設(shè)規(guī)劃設(shè)計(jì)咨詢合同3篇
- 2025年度農(nóng)村房屋建筑施工合同糾紛調(diào)解與仲裁規(guī)則
- 二零二五年度教育培訓(xùn)融資合同范例匯編3篇
- 2025年度勞動(dòng)合同解除與離職員工經(jīng)濟(jì)補(bǔ)償及離職手續(xù)辦理合同3篇
- 二零二五年度農(nóng)村住房安全責(zé)任與社區(qū)安全設(shè)施合同2篇
- 2025年度農(nóng)產(chǎn)品電商平臺(tái)農(nóng)產(chǎn)品品牌孵化合作合同版3篇
- 2025年度豬肉品牌線上線下聯(lián)動(dòng)推廣合同3篇
- 2025年度農(nóng)業(yè)機(jī)械租賃與農(nóng)村市場(chǎng)拓展合同3篇
- DB11-T212-2017園林綠化工程施工及驗(yàn)收規(guī)范
- 小學(xué)數(shù)學(xué)自制教具學(xué)具的研究及探討
- 廣東省幼兒園一日活動(dòng)指引(試行)
- 光學(xué)材料-光學(xué)加工流程
- 奔馳卡車產(chǎn)品分析(課堂PPT)
- 企業(yè)各部門安全生產(chǎn)職責(zé)培訓(xùn)PPT課件
- 反循環(huán)鉆孔灌注樁施工方案
- 新能源小客車購(gòu)車充電條件確認(rèn)書
- 發(fā)明專利專利答辯模板
- 市政府副市長(zhǎng)年道路春運(yùn)工作會(huì)議講話稿
- 鑄鐵鑲銅閘門
評(píng)論
0/150
提交評(píng)論