數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 2.2 關(guān)系代數(shù)運(yùn)算_第1頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 2.2 關(guān)系代數(shù)運(yùn)算_第2頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 2.2 關(guān)系代數(shù)運(yùn)算_第3頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 2.2 關(guān)系代數(shù)運(yùn)算_第4頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 2.2 關(guān)系代數(shù)運(yùn)算_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2.2關(guān)系代數(shù)運(yùn)算本章主要內(nèi)容:(1)關(guān)系模型的術(shù)語:元組、關(guān)系、屬性、關(guān)系模式、主鍵、外鍵(2)規(guī)范化的關(guān)系:關(guān)系的6條性質(zhì)(3)3類完整性規(guī)則:實(shí)體完整性、參照完整性、用戶定義的完整性(4)關(guān)系代數(shù)運(yùn)算:集合運(yùn)算、代數(shù)運(yùn)算(投影、選擇、連接)(5)關(guān)系代數(shù)表達(dá)式2.2關(guān)系代數(shù)運(yùn)算關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)發(fā)展起來的,它是一種抽象的查詢語言,它通過對(duì)關(guān)系的運(yùn)算來表達(dá)查詢的結(jié)果。關(guān)系運(yùn)算的運(yùn)算對(duì)象和運(yùn)算結(jié)果都是關(guān)系。關(guān)系的運(yùn)算可分為兩類:

(1)傳統(tǒng)的集合運(yùn)算:包括集合的并、交、差和笛卡爾積運(yùn)算。

(2)專門的關(guān)系運(yùn)算:包括選擇、投影、連接和除法等運(yùn)算。2.2關(guān)系代數(shù)運(yùn)算關(guān)系運(yùn)算必須要寫關(guān)系運(yùn)算表達(dá)式,其中涉及的關(guān)系運(yùn)算符可以分為以下四類:關(guān)系運(yùn)算的運(yùn)算對(duì)象和運(yùn)算結(jié)果都是關(guān)系。關(guān)系的運(yùn)算可分為兩類:

(1)集合運(yùn)算符:并(∪)、交(∩)、差(-)、笛卡爾積(×)。

(2)關(guān)系運(yùn)算符:投影(∏)、選擇(σ)、連接(

)、除(÷)。

(3)算術(shù)比較符:大于(>)、大于等于(≥)、小于(<)、小于等于(≤)、等于(=)、不等于(≠)。

(4)邏輯運(yùn)算符:與(∧)、或(∨)、非(┐)。2.2關(guān)系代數(shù)運(yùn)算為了敘述方便,下面介紹2個(gè)概念:

(1)設(shè)關(guān)系模式R(A1,A2,…,An)有n個(gè)屬性。對(duì)于當(dāng)前關(guān)系R,用t∈R表示t是R的一個(gè)元組,t[Ai]表示元組t中對(duì)應(yīng)于屬性Ai的一個(gè)分量(屬性值)。

(2)設(shè)A=(Ai1,Ai2,…,Aik),其中Ai1,Ai2,…,Aik表示A1,A2,…,An中的一部分,則稱A為屬性列。t[A]={t[Ai1],t[Ai2],…,t[Aik]}表示元組t在屬性列A上各分量的集合。傳統(tǒng)的集合運(yùn)算要求參加運(yùn)算的兩個(gè)關(guān)系必須是同類關(guān)系,即兩個(gè)關(guān)系具有相同的屬性個(gè)數(shù),且對(duì)應(yīng)的屬性值必須取自同一域。2.2.1傳統(tǒng)的集合運(yùn)算設(shè)關(guān)系R和關(guān)系S是同類關(guān)系,則它們的并、交、差和笛卡爾積運(yùn)算如下:(1)并運(yùn)算:R∪S={t|t∈R∨t∈S}。

(2)交運(yùn)算:R∩S={t|t∈R∧t∈S}。

(3)差運(yùn)算:R-S={t|t∈R∧tS}。

(4)笛卡爾積運(yùn)算:

R×S={trts|trR∧tsS},其中trts表示元組的連接或元組的串接。例2-1關(guān)系R和S如圖2.3(a)、(b)所示,它們的笛卡爾積、并、交、差運(yùn)算分別如圖2-4、2-5、2-6、2-7所示。2.2.1傳統(tǒng)的集合運(yùn)算ABCabcdafcbdABCbgadaf關(guān)系R關(guān)系SR.AR.BR.CS.AS.BS.Cabcbgaabcdafdafbgadafdafcbdbgacbddaf

R×SABCabcdafcbdbgaR∪SR∩SR-SABCdafABCabccbd

1.投影(Project),也稱選列2.2.2專門的關(guān)系運(yùn)算關(guān)系R的投影是從R中選擇若干屬性列,并可重新安排列的順序組成新的關(guān)系。記作:∏A(R)={t[A]|t∈R},其中A為R的屬性列。2.選擇(Selection),也稱選行選擇運(yùn)算時(shí)指從關(guān)系R中選擇滿足給定條件的諸元組。記作:σF(R)={t|t∈R∧F(t)=true}其中F為選擇條件,它是一個(gè)邏輯表達(dá)式,取值為true或false。例2-2針對(duì)例2-1中的關(guān)系R和S,圖2-8表示πC,A(R),即π3,1(R)。圖2-9表示表示σB=ˊbˊ(R)。2.2.2專門的關(guān)系運(yùn)算ABCabcdafcbdABCbgadaf關(guān)系R關(guān)系SπC,A(R)σB='b'(R)CAcafddcABCabccbd

3.連接(Join)2.2.2專門的關(guān)系運(yùn)算連接分為:

連接、等值連接及自然連接三種,分述如下:(1)

連接:它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。記作:RS={trts|trR∧tsS∧tr[A]ts[B]}其中:

是比較運(yùn)算符,A和B分別為R和S上度數(shù)相等、且可比的屬性組。AB2.2.2專門的關(guān)系運(yùn)算(2)等值連接:當(dāng)

為“=”時(shí),稱之為等值連接,記為:RS={trts|trR∧tsS∧tr[A]=ts[B]}(3)自然連接:是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中將重復(fù)屬性列去掉。若R和S具有相同的屬性組B,則自然連接可以記為:A=BRS={trts|trR∧tsS∧tr[B]=ts[B]}2.2.2專門的關(guān)系運(yùn)算兩個(gè)關(guān)系R和S的自然聯(lián)接操作具體計(jì)算過程如下:RS={trts|trR∧tsS∧tr[B]=ts[B]}①計(jì)算R×S;

②設(shè)R和S的公共屬性是A1,…,Ak,挑選R×S中滿足R.A1=S.A1,…,R.Ak=S.Ak

的那些元組;

③去掉S.A1,…,S.Ak這些列。特別需要說明的是:一般連接是從關(guān)系的水平方向運(yùn)算,而自然連接不僅要從關(guān)系的水平方向,而且要從關(guān)系的垂直方向運(yùn)算。因?yàn)樽匀贿B接要去掉重復(fù)屬性,如果沒有重復(fù)屬性,那么自然連接就轉(zhuǎn)化為笛卡爾積。2.2.3關(guān)系代數(shù)運(yùn)算的應(yīng)用實(shí)例在關(guān)系代數(shù)運(yùn)算中,把由四個(gè)傳統(tǒng)的集合運(yùn)算和3個(gè)專門的關(guān)系運(yùn)算,經(jīng)過有限次復(fù)合的式子稱為關(guān)系代數(shù)表達(dá)式。這種表達(dá)式的運(yùn)算結(jié)果仍是一個(gè)關(guān)系。我們可以用關(guān)系代數(shù)表達(dá)式表示各種數(shù)據(jù)查詢操作。2.2.3關(guān)系代數(shù)運(yùn)算的應(yīng)用實(shí)例例2-3設(shè)有學(xué)生選課數(shù)據(jù)庫中包含三個(gè)關(guān)系:學(xué)生關(guān)系S、課程關(guān)系C、學(xué)生選課關(guān)系SC,其關(guān)系模式為:學(xué)生關(guān)系模式

S(sNo,sName,Age,Sex)

/*學(xué)號(hào),姓名,年齡,性別*/

課程關(guān)系模式

C(cNo,cName,Credit)

/*課程號(hào),課程名,學(xué)分*/

選課關(guān)系模式

SC(sNo,cNo,Score)

/*學(xué)號(hào),課程號(hào),考試成績*/sNosNameSexAge300130024003400410411042王平張勇黎明劉明遠(yuǎn)趙國慶樊建璽女男女男男男181918192020cNocNameCreditC1C2C3C4C5C6C7數(shù)據(jù)庫數(shù)

學(xué)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)字通信信息系統(tǒng)程序設(shè)計(jì)3443342sNocNoScore30013001300130023002104210421232312938484839384822.2.3關(guān)系代數(shù)運(yùn)算的應(yīng)用實(shí)例(1)檢索學(xué)習(xí)課程號(hào)為C2的學(xué)生學(xué)號(hào)與成績。(2)檢索學(xué)習(xí)課程號(hào)為C2的學(xué)生學(xué)號(hào)與姓名。(3)檢索女同學(xué)、考試不及格的的學(xué)生學(xué)號(hào)、姓名、課程號(hào)及成績。2.2.3關(guān)系代數(shù)運(yùn)算的應(yīng)用實(shí)例(4)檢索選修課程名為“數(shù)學(xué)”的學(xué)生學(xué)號(hào)和姓名。(4)的查詢結(jié)果分2步顯示。先顯示SSCC的自然連接,結(jié)果如左圖所示。再顯示顯示選修“數(shù)學(xué)”的學(xué)生,如圖2-12所示。sNosNameSexAgecNoScoresNameCredit3001300130013002300210421042王平王平王平張勇張勇樊建璽樊建璽女女女男男男男18181819192020C1C2C3C2C3C1C293848483938482數(shù)據(jù)庫數(shù)

學(xué)操作系統(tǒng)數(shù)

學(xué)操作系統(tǒng)數(shù)據(jù)庫數(shù)

學(xué)3444434sNosName300130021042王

平張

勇樊建璽圖2-12選修數(shù)學(xué)的學(xué)生2.2.4關(guān)系代數(shù)表達(dá)式的啟發(fā)式優(yōu)化算法在關(guān)系代數(shù)表達(dá)式中,涉及到對(duì)關(guān)系的操作步驟問題。對(duì)同一個(gè)查詢?nèi)蝿?wù),如何指定一個(gè)操作步驟,使其既省時(shí)間、又省空間?這是一個(gè)查詢優(yōu)化問題。這個(gè)問題理論上還沒有一個(gè)準(zhǔn)確的結(jié)論。目前,一般是采用啟發(fā)式優(yōu)化方法對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化。這種優(yōu)化策略與關(guān)系的存儲(chǔ)技術(shù)無關(guān),主要是討論如何合理安排操作的順序,減少關(guān)系中,元組的個(gè)數(shù),以花費(fèi)較少的空間和時(shí)間。2.2.4關(guān)系代數(shù)表達(dá)式的啟發(fā)式優(yōu)化算法在關(guān)系代數(shù)表達(dá)式中,最花費(fèi)時(shí)間和空間的運(yùn)算是笛卡爾積和連接操作。為此,引出3條啟發(fā)式規(guī)則,用于對(duì)表達(dá)式進(jìn)行轉(zhuǎn)換,以減少中間關(guān)系的大小。(1)

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論