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

下載本文檔

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

文檔簡介

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

2、()、投影()、連接、除專門關(guān)系運算符不僅涉及行而且涉及列比較運算符:>、<、=、邏輯運算符:用來輔助專門的關(guān)系運算符二傳統(tǒng)的集合運算符傳統(tǒng)集合運算符是二目運算符 設(shè)關(guān)系R和S具有相同的目n(即n個屬性),且相應(yīng)的屬性取自同一個域 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 | tR tS 結(jié)果仍是n目,由即屬于R又屬于S的所有元組組成。如圖D 可以用差

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

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)。它是一個 nm列的元組,前n個分量為R中的一個 n元組,后m個分量為S中的一個m元組。具體例的后面講解4)給定一個關(guān)系R(X,Z),X和Z為屬性組,定義,當tX=x時,x在R中的象集為:Zx

5、= tZ | t R,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:表示選擇條件,是一個邏輯表達式,邏輯值只有“真”和“假”,由邏輯運算符連接算術(shù)表達式組成。算術(shù)表達式基本形式:X1 Y1 ,其中表示比較運算符,它可以是,=或。X1,Y1等是屬性名,或為常量,或為簡單函數(shù);屬性名也可以用它的序號來代替。 例:學生課程數(shù)據(jù)庫,包括學生關(guān)系Student(學號、姓名、

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

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

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

9、求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且結(jié)果中把重復(fù)的屬性列去掉。即若R和S具有相同的屬性組B,則自然連接可記作:一般的連接從行的角度,自然連接要取消重復(fù)列,是從行和列的角度進行運算。連接對應(yīng)后面的SQL語句的嵌套查詢等例:有關(guān)系關(guān)系R和關(guān)系 S如圖(a)(b) ,則如圖(c)等值連接的結(jié)果為圖(d),自然連接結(jié)果為(e) (a) (b) (c) (d) (e)4除從行和列的角度進行運算給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的

10、投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作: 其中Yx為x在R中的象集x=trX.例6:關(guān)系R和S如圖 (a) (b) (c)對應(yīng)概念中有R(A,Y)和S(Y,D)其中, Y為屬性列組(B,C)關(guān)系R中A可以取四個值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=a1 Cno13綜合練習:例7:查詢

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論