第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算_第1頁(yè)
第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算_第2頁(yè)
第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算_第3頁(yè)
第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算_第4頁(yè)
第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章 關(guān)系代數(shù)與關(guān)系運(yùn)算關(guān)系數(shù)據(jù)語(yǔ)言有三類:1關(guān)系代數(shù)語(yǔ)言2關(guān)系演算語(yǔ)言(元組關(guān)系演算語(yǔ)言、域關(guān)系演算語(yǔ)言)3具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言 如SQL一關(guān)系代數(shù)關(guān)系代數(shù):一種抽象的查詢語(yǔ)言,是關(guān)系數(shù)據(jù)操縱語(yǔ)言的一種傳統(tǒng)表達(dá)方式。用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢。運(yùn)算:將一定的運(yùn)算符作用于一定的運(yùn)算對(duì)象上,得到預(yù)期的運(yùn)算結(jié)果運(yùn)算三要素:運(yùn)算符、運(yùn)算對(duì)象、運(yùn)算結(jié)果關(guān)系代數(shù)的運(yùn)算對(duì)象和結(jié)果都是:關(guān)系關(guān)系代數(shù)運(yùn)算符(四類):集合運(yùn)算符、專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符集合運(yùn)算符:并(U)、差()、交()傳統(tǒng)的集合運(yùn)算符從關(guān)系的“水平“方向即行的角度來(lái)進(jìn)行專門的關(guān)系運(yùn)算符:廣義笛卡爾積()、選擇

2、()、投影()、連接、除專門關(guān)系運(yùn)算符不僅涉及行而且涉及列比較運(yùn)算符:>、<、=、邏輯運(yùn)算符:用來(lái)輔助專門的關(guān)系運(yùn)算符二傳統(tǒng)的集合運(yùn)算符傳統(tǒng)集合運(yùn)算符是二目運(yùn)算符 設(shè)關(guān)系R和S具有相同的目n(即n個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域 1并(Union)記作:RUS=t|tRtS結(jié)果仍是n目關(guān)系,由屬于R或S的元組組成。例:(a)(b)(c) (d) (e)2.差關(guān)系R與S的差記作:R-S=t|tRtS 結(jié)果仍是n目,由屬于R而不屬于S的所有元組組成。 如圖E3.交關(guān)系R與S的交記作:RS = t | tRtS 結(jié)果仍是n目,由即屬于R又屬于S的所有元組組成。如圖D 可以用差來(lái)表示 R

3、S=R-(R-S)4廣義笛卡爾積兩個(gè)分別為n目和m目的關(guān)系R和S的廣義笛卡爾積是一個(gè)(m+n)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,那么關(guān)系R與S的廣義笛卡爾積有k1 x k2個(gè)元組,記作R×S = trts | trRtsS 結(jié)果是m+n目如圖例總結(jié):集合運(yùn)算符主要研究的是元組,即對(duì)表中的行進(jìn)行研究、操作。三專門的關(guān)系運(yùn)算符 包括選擇、投影、連接、除等,為敘述上方便引入幾個(gè)記號(hào)1)設(shè)關(guān)系模式為R(A1,A2,,An)。它的一個(gè)關(guān)系為R。tR表示t是R的一個(gè)元組。tAi則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。例:

4、關(guān)系R(A,B,C)中 tB2=b22)若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,則A稱為屬性列或域列。tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分量的集合。A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。3)R是n目關(guān)系,S是m目關(guān)系。trR,tsS,trts 稱為元組的連接(Concatenation)。它是一個(gè) nm列的元組,前n個(gè)分量為R中的一個(gè) n元組,后m個(gè)分量為S中的一個(gè)m元組。具體例的后面講解4)給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組,定義,當(dāng)tX=x時(shí),x在R中的象集為:Zx= tZ |tR

5、,tX = x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。如:Z=(B,C) R=(A,Z), x=a1則 Zx=(b1,c1)(b2,c2)1.選擇(selection):又稱限制,是在關(guān)系R中選擇滿足給定條件的元組記作:F(R)= t | t R F(t) =真 F:表示選擇條件,是一個(gè)邏輯表達(dá)式,邏輯值只有“真”和“假”,由邏輯運(yùn)算符連接算術(shù)表達(dá)式組成。算術(shù)表達(dá)式基本形式:X1Y1,其中表示比較運(yùn)算符,它可以是,=或。X1,Y1等是屬性名,或?yàn)槌A?,或?yàn)楹?jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來(lái)代替。例:學(xué)生課程數(shù)據(jù)庫(kù),包括學(xué)生關(guān)系Student(學(xué)號(hào)、姓名、性別、年齡、所在系),課程

6、關(guān)系Course(課程號(hào),課程名,先行課,學(xué)分)選修關(guān)系SC(成績(jī))畫(huà)出上面數(shù)據(jù)庫(kù)中的E-R圖,先由學(xué)生畫(huà)出,然后給出結(jié)果E-R圖結(jié)果如下:根據(jù)E-R圖設(shè)計(jì)其表如下:(a)(b)(c)下面的例子要現(xiàn)場(chǎng)建立一個(gè)數(shù)據(jù)表,在SQL SERVER中測(cè)試查詢語(yǔ)句。例1:查詢信息系統(tǒng)(IS系)全體學(xué)生Sdept=IS(Student) 或5=IS(Student)其中下角標(biāo)“ 5”為Sdept的屬性序號(hào)。結(jié)果如圖 對(duì)應(yīng)SQL語(yǔ)句為:SELECT * FROM Student where Sdept=”IS”;例2:查詢年齡小于20歲的學(xué)生Sage<20 (Student) 或4<20(Stud

7、ent) 結(jié)果如下圖對(duì)應(yīng)的SQL語(yǔ)句為:SELECT * FROM Student WHERE Sage<20;2.投影(從列的角度進(jìn)行運(yùn)算)關(guān)系R上的投影是從R中選擇若干屬性列組成新的關(guān)系:記作A(R)= tA | tR ,其中A為R中的屬性列。查詢結(jié)果會(huì)取消有重復(fù)的列例3:查詢學(xué)生的姓名和所在系,即求Student關(guān)系在學(xué)生姓名和系上的投影。代數(shù)式為:Sname,Sdept(Student) 或 2,5(Student),結(jié)果如圖:對(duì)應(yīng)的SQL語(yǔ)句為:SELECT Sname,Sdept FROM Student例4:查詢學(xué)生關(guān)系中有哪些系? 代數(shù)式為:Sdept(Student)

8、或 5(Student),結(jié)果如上圖:對(duì)應(yīng)的SQL語(yǔ)句為:SELECT Sdept FROM Student3連接(又稱連接)它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間的滿足一定條件的元組。記作:期中A和B分別為R和S上度數(shù)相同且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算從R和S的廣義笛卡爾積RxS中選取在A屬性祖上的值與在B屬性組上值滿足比較關(guān)系的元組。重要兩種的連接:等值連接(equijoin)、自然連接(natural join)1)等值連接:為“=“的連接運(yùn)算,是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組,即:2)自然連接:一種特殊的等值連接,要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同

9、的屬性組,并且結(jié)果中把重復(fù)的屬性列去掉。即若R和S具有相同的屬性組B,則自然連接可記作:一般的連接從行的角度,自然連接要取消重復(fù)列,是從行和列的角度進(jìn)行運(yùn)算。連接對(duì)應(yīng)后面的SQL語(yǔ)句的嵌套查詢等例:有關(guān)系關(guān)系R和關(guān)系 S如圖(a)(b) ,則如圖(c)等值連接的結(jié)果為圖(d),自然連接結(jié)果為(e)(a)(b)(c)(d)(e)4除從行和列的角度進(jìn)行運(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中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上

10、投影的集合。記作:其中Yx為x在R中的象集x=trX.例6:關(guān)系R和S如圖 (a) (b) (c)對(duì)應(yīng)概念中有R(A,Y)和S(Y,D)其中, Y為屬性列組(B,C)關(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的象集(B,C)a1包含了S在(B,C)屬性組上的投影,故R÷S=a1Cno13綜合練習(xí):例7:查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生學(xué)號(hào).先建立一個(gè)臨

11、時(shí)關(guān)系K,然后求:Sno,Cno(SC)÷K 結(jié)果為95001例8:查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)Sno(cno=2(SC)= 95001,95002 例9:查詢至少選修了一門其直接先行課為5號(hào)課程的學(xué)生的姓名分解:先查詢先行課為5號(hào)課程的課程,然后再查詢選修的學(xué)生Sname,(Cpno=5(Course) |×| SC |×|Sno,Sname(Student)或Sname,( Sno(Cpno=5(Course) |×| SC) |×|Sno,Sname(Student)例10:查詢選修了全部課程的學(xué)生學(xué)號(hào)和姓名Sno,Cno(SC) ÷Cno(Course) |×| Sno,Sname(Student)課下練習(xí)、作業(yè)總結(jié):掌握

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論