版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,第3章 關(guān)系數(shù)據(jù)庫(kù)理論 ——關(guān)系代數(shù)(一),關(guān)系模型關(guān)系代數(shù)關(guān)系演算,本章內(nèi)容,關(guān)系操作語(yǔ)言關(guān)系代數(shù)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢要求。關(guān)系演算語(yǔ)言用查詢得到的元組應(yīng)滿足的謂詞條件來表達(dá)查詢要求。結(jié)構(gòu)化的查詢語(yǔ)言SQL,回顧,關(guān)系代數(shù)的重要性為關(guān)系模型操作提供了一個(gè)形式化的基礎(chǔ),被用作衡量另一種關(guān)系模型語(yǔ)言表達(dá)能力的尺度。被用在RDBM
2、S中,作為實(shí)現(xiàn)和優(yōu)化查詢的基礎(chǔ)。面向RDBMS的SQL標(biāo)準(zhǔn)查詢語(yǔ)言中結(jié)合了關(guān)系代數(shù)中的一些概念。,回顧,代數(shù)操作運(yùn)算符和原子操作數(shù) 關(guān)系代數(shù)基于一組以關(guān)系為操作對(duì)象的運(yùn)算符集合運(yùn)算符專門的關(guān)系運(yùn)算符原子操作數(shù)包括代表關(guān)系的變量和代表關(guān)系實(shí)例的常量,3.2 關(guān)系代數(shù),關(guān)系代數(shù)運(yùn)算符傳統(tǒng)的集合運(yùn)算并、差、交、廣義笛卡爾積將關(guān)系看成元組的集合,其運(yùn)算是從關(guān)系的“水平”方向即元組的角度來進(jìn)行的。專門的關(guān)系運(yùn)算投影、選擇、
3、連接、除不僅涉及元組而且涉及屬性列。比較運(yùn)算符和邏輯運(yùn)算符是用來輔助專門的關(guān)系運(yùn)算的。,3.2 關(guān)系代數(shù),傳統(tǒng)的集合運(yùn)算R和S相容關(guān)系設(shè)兩個(gè)關(guān)系R和S具有相同的目,且相應(yīng)的屬性取自同一個(gè)域 例如:若R和S都是建立在集合A和B上的二元關(guān)系,則R和S是相容的。,3.2 關(guān)系代數(shù),傳統(tǒng)的集合運(yùn)算 設(shè)R和S是相容關(guān)系,則定義并、差、交運(yùn)算如下:并(Union)運(yùn)算R∪S={t|t∈R∨t∈S}差 (Difference)運(yùn)算
4、R-S={t|t∈R∧t ? S}交(Intersection)運(yùn)算R∩S={t|t∈R∧t∈S} R∩S = R—(R—S) R∩S = S—(S—R),3.2 關(guān)系代數(shù),傳統(tǒng)的集合運(yùn)算【例1】給出關(guān)系R1、R2原始數(shù)據(jù),求R1∪R2,R1∩R2,R1-R2,3.2 關(guān)系代數(shù),,,3.2 關(guān)系代數(shù),,R1 ∪ R2,R1 -R2,R1∩R2,,傳統(tǒng)的集合運(yùn)算廣義笛卡爾積,3.2 關(guān)系代數(shù),,笛卡爾積: 給定一組
5、域D1,D2,…,Dn,這n個(gè)域的笛卡爾積為: D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n } 每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple),或簡(jiǎn)稱為元組(Tuple)。
6、 元素中的每一個(gè)di值叫作一個(gè)分量(Component)。,傳統(tǒng)的集合運(yùn)算廣義笛卡爾積設(shè)關(guān)系R和關(guān)系S分別是m 目和n目關(guān)系,R中有k1個(gè)元組,S中有k2個(gè)元組,R與S的廣義笛卡爾積記為RXS,它為一個(gè)m+n目的新關(guān)系,共有k1Xk2個(gè)元組,且每個(gè)元組的前 m個(gè)分量是關(guān)系R的一個(gè)元組,后n個(gè)分量是關(guān)系S的一個(gè)元組。 RXS={trts| tr∈R∧ts∈S},3.2 關(guān)系代數(shù),⌒,傳統(tǒng)的集合運(yùn)
7、算【例2】給出關(guān)系R1、R3原始數(shù)據(jù),求R1XR3,3.2 關(guān)系代數(shù),,,,3.2 關(guān)系代數(shù),,R1 X R3,,,,,,S1,查詢:1.所有學(xué)生的信息; 2.重復(fù)學(xué)生的信息 ; 3.刪除S1關(guān)系中包含的S2關(guān)系中的學(xué)生信息。,3.2 關(guān)系代數(shù),S2,,S1∪S2,S1-S2,S1∩S2,專門的關(guān)系運(yùn)算投影(Projection)運(yùn)算投影運(yùn)算是個(gè)一元的、對(duì)屬性進(jìn)行操作的運(yùn)算。從關(guān)系中選擇若干屬性列組成一個(gè)新的
8、關(guān)系。設(shè)關(guān)系R為n目關(guān)系,Ai1,Ai2,…,Aim是關(guān)系屬性A1,A2,…,An的一部分,則關(guān)系R在Ai1,Ai2,…,Aim上的投影是一個(gè)m目關(guān)系,其屬性為Ai1,Ai2,…,Aim ,記為: ПAi1,Ai2,…,Aim(R) 或 Пi1,i2,…,im(R),3.2 關(guān)系代數(shù),,專門的關(guān)系運(yùn)算選擇(Selection)運(yùn)算選擇運(yùn)算是個(gè)一元、對(duì)元組進(jìn)行操作的運(yùn)算。
9、在關(guān)系R中選擇滿足給定條件的元組。設(shè)F為一邏輯表達(dá)式,則在關(guān)系R上的F選擇是在R中挑選滿足F的所有元組組成一個(gè)新的關(guān)系,這個(gè)新關(guān)系與R相容,是R的一個(gè)子集。記為 σF(R) σF(R)={t | t ∈R ∧ F(t)= TRUE },3.2 關(guān)系代數(shù),,專門的關(guān)系運(yùn)算選擇運(yùn)算 σF(R)中F是一邏輯表達(dá)式,由下面的規(guī)則組成:由基本邏輯表達(dá)式aθb組成a、b
10、可為屬性名或常量,但不能同時(shí)為常量。θ為比較符、=、≤、≥和≠。對(duì)基本邏輯表達(dá)式進(jìn)行邏輯運(yùn)算┐(否定)、∧(并且)和∨(或者),構(gòu)成復(fù)合邏輯表達(dá)式。,3.2 關(guān)系代數(shù),,專門的關(guān)系運(yùn)算 【例2】給出關(guān)系R1、R2原始數(shù)據(jù),查詢 ПA3,A2 (R1) 、σA2 >5 ∨A3 ≠f (R2),3.2 關(guān)系代數(shù),,,3.2 關(guān)系代數(shù),,,ПA3,A2 (R1),σA2 >5 ∨A3 ≠f
11、 (R2),,,學(xué)生,,查詢:1.計(jì)算機(jī)系學(xué)生的信息; 2.所有學(xué)生的姓名 ; 3.計(jì)算機(jī)系學(xué)生的姓名。,3.2 關(guān)系代數(shù),,(σ所在系=‘計(jì)算機(jī)系‘(學(xué)生 )),∏姓名(σ所在系=‘計(jì)算機(jī)系‘(學(xué)生 )),∏姓名(學(xué)生 ),專門的關(guān)系運(yùn)算連接(Join)運(yùn)算從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組,記為 R ? S
12、 AθB A和B分別是R和S上度數(shù)相等且可比的屬性組,θ是比較運(yùn)算符。,3.2 關(guān)系代數(shù),,,專門的關(guān)系運(yùn)算連接運(yùn)算 R ? S ={trts| tr∈R∧ts∈S∧tr[A] θts[B] } AθB tr[A] 、ts[B]分別表示關(guān)系R、S的元組t在屬性列A、B上諸分量的集合。,3.2 關(guān)系代數(shù),,,⌒,專門的關(guān)系運(yùn)算連接運(yùn)算等值連接:θ為“=”時(shí) R ? S ={tr
13、ts| tr∈R∧ts∈S∧tr[A] =ts[B] } A=B tr[A] =ts[B] R.A1=S.B1∧R.A2= S.B2∧…∧R.Ak=S.Bk,3.2 關(guān)系代數(shù),,,⌒,專門的關(guān)系運(yùn)算連接運(yùn)算自然連接是一種特殊的等值連接,要求A和B相同,并且在結(jié)果中把重復(fù)的屬性列去掉。 R ? S ={trts| tr∈R∧ts∈S∧tr[A] =ts[A] }tr[A] =ts[A
14、] R.A1=S.A1∧R.A2= S.A2∧…∧R.Ak=S.Ak,3.2 關(guān)系代數(shù),,,⌒,專門的關(guān)系運(yùn)算連接運(yùn)算在連接運(yùn)算中,基本邏輯表達(dá)式AθB也可為對(duì)基本邏輯表達(dá)式進(jìn)行邏輯運(yùn)算的復(fù)合邏輯表達(dá)式,稱為F連接。 R ?F SF連接運(yùn)算是在R和S的廣義笛卡爾積R ? S中,選取符合F條件的元組。 R ?F S≡
15、σF(RXS),3.2 關(guān)系代數(shù),,專門的關(guān)系運(yùn)算 【例3】給出關(guān)系G、H原始數(shù)據(jù),查詢 G ? H 、G ? H、G ? H G.B>H.B G.B=H.B,3.2 關(guān)系代數(shù),,,3.2 關(guān)系代數(shù),,,,,,,,,,,,,,,,,,,,,,,,G ? H G.B>H.B,G ? H G.B=H.B,
16、G ? H,學(xué)生,選課,查詢:學(xué)生個(gè)人及選課信息,3.2 關(guān)系代數(shù),S,SC,S,SC,SxSC,,,,,,,,,3.2 關(guān)系代數(shù),S,SC,SxSC,,,,,,,,,,,,,,,,,,,,σS.SNO=SC.SNO ( ),,3.2 關(guān)系代數(shù),S,SC,,,,,,,,,,,,,,,,,,,,3.2 關(guān)系代數(shù),,,學(xué)生,選課,查詢:學(xué)生個(gè)人及選課信息,3.2 關(guān)系代數(shù),,查詢:學(xué)生個(gè)人及選課信息,3.2 關(guān)系代數(shù),學(xué)
17、生?選課,學(xué)生,課程,查詢:學(xué)生個(gè)人及選課信息,3.2 關(guān)系代數(shù),,學(xué)生?課程,X,學(xué)生,課程,,選課,3.2 關(guān)系代數(shù),,,3.2 關(guān)系代數(shù),專門的關(guān)系運(yùn)算外連接R ? S時(shí),保留因在公共屬性上值不同而被舍棄的元組(懸浮元組),并且在這些元組新增加的屬性上賦上空值NULL。若結(jié)果中只保存R中的懸浮元組,則稱為R與S的“左外連接”;若結(jié)果中只保存S 中的懸浮元組,則稱為R與S的“右外連接”。若結(jié)果中保存R 、S 中的所有懸浮元
18、組,則稱為R與S的“全外連接”。,3.2 關(guān)系代數(shù),專門的關(guān)系運(yùn)算-外連接,,,R,S,R ? S,R與S外連接,R與S左外連接,R與S右外連接,3.2 關(guān)系代數(shù),,1.檢索“程軍”老師所授課程的課程號(hào)和課程名,∏CNO,CNAME(σTEACHER=“程軍”(C)),S,C,SC,3.2 關(guān)系代數(shù),,,2.檢索成績(jī)大于等于90的學(xué)號(hào)、姓名和所選課程號(hào)及成績(jī)。,∏SNO,SNAME,課程號(hào),GRADE (σG
19、RADE>=90(S?SC )),∏SNO,SNAME,課程號(hào),GRADE (σGRADE>=90(SC ) ? S ),S,C,SC,3.2 關(guān)系代數(shù),,,3.檢索年齡大于21的男生的姓名、選課名稱及成績(jī)。,∏SNAME,課程名,GRADE (σAGE>21∧SEX=“男”(S)?SC?C),S,C,SC,,小結(jié),關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算并、差、交、廣義笛卡爾積專門的關(guān)系運(yùn)算投影、選擇、連接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第四講-關(guān)系代數(shù)
- 公共關(guān)系第4講教材
- 第4講模擬試題一解析
- 第1講代數(shù)學(xué)簡(jiǎn)介
- 第4講 分?jǐn)?shù)
- 線性代數(shù)第44講總復(fù)習(xí)(3)
- 線性代數(shù)第20講線性變換(2)
- 第7單元 第4講
- 第2單元 第4講
- 第3-4講
- 第4講 員工招聘
- 工程數(shù)學(xué)第4講
- 第4講 補(bǔ)體系統(tǒng)(第5講)(1)
- 第3講 免疫球蛋白(第4講)(1)
- (奧鵬福師)《高等代數(shù)選講》在線作業(yè)一_4(附答案)
- 第26講 數(shù)學(xué)線性代數(shù)(四)(2011年新版)
- 第1講光學(xué)(一)
- 第4講 共邊模型
- 第4講 算法與復(fù)數(shù)
- 第4講-第3章計(jì)算藥物分析
評(píng)論
0/150
提交評(píng)論