




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫原理DatabasePrinciples第二章關系數(shù)據(jù)庫(續(xù)1)第二章關系數(shù)據(jù)庫2.1關系模型概述2.2關系數(shù)據(jù)結構2.3關系的完整性2.4關系代數(shù)2.5關系演算2.4關系代數(shù)
概述:1.關系代數(shù) 一種抽象的查詢語言用對關系的運算來表達查詢2.關系代數(shù)運算的三個要素運算對象:關系運算結果:關系運算符:四類集合運算符將關系看成元組的集合運算是從關系的“水平”方向即行的角度來進行專門的關系運算符不僅涉及行而且涉及列算術比較符輔助專門的關系運算符進行操作邏輯運算符輔助專門的關系運算符進行操作集合運算符∪-∩×并差交廣義笛卡爾積比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于運算符含義運算符含義表2.4關系代數(shù)運算符
概述(續(xù))專門的關系運算符σπ
÷選擇投影連接除邏輯運算符∧∨非與或運算符含義運算符含義概述(續(xù))4.關系代數(shù)運算的分類 傳統(tǒng)的集合運算:并、差、交、廣義笛卡爾積 專門的關系運算:選擇、投影、連接、除5.表示記號(1)R,tR,t[Ai],設關系模式為R(A1,A2,…,An)它的一個關系設為R。tR表示t是R的一個元組,t[Ai]則表示元組t中相應于屬性Ai的一個分量(2)A,t[A],A若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。概述(續(xù))(3)trtsR為n目關系,S為m目關系。trR,tsS,trts稱為元組的連接。它是一個n+m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。(4)象集Zx給定一個關系R(X,Z),X和Z為屬性組。當t[X]=x時,x在R中的象集(ImagesSet)為:
Zx={t[Z]|tR,t[X]=x}它表示R中屬性組X上值為x的諸元組在Z上分量的集合。2.4.1傳統(tǒng)的集合運算1.并(Union)R和S具有相同的目n(即兩個關系都有n個屬性)相應的屬性取自同一個域R∪S
仍為n目關系,由屬于R或?qū)儆赟的元組組成R∪S={t|t
R∨tS}ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S
2.差(Difference)R和S具有相同的目n相應的屬性取自同一個域R-S
仍為n目關系,由屬于R而不屬于S的所有元組組成
R-S={t|tR∧tS}ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S
3.交(Intersection)R和S具有相同的目n相應的屬性取自同一個域R∩S仍為n目關系,由既屬于R又屬于S的元組組成R∩S={t|t
R∧tS} R∩S=R
–(R-S)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S
4.廣義笛卡爾積(ExtendedCartesianProduct)R;n目關系,k1個元組S:m目關系,k2個元組R×S
列:(n+m)列的元組的集合元組的前n列是關系R的一個元組后m列是關系S的一個元組行:k1×k2個元組R×S={tr
ts|tr
R∧tsS}ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1R×S
ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c12.4.2專門的關系運算選擇(Selection)1)選擇又稱為限制(Restriction)2)選擇運算符的含義在關系R中選擇滿足給定條件的諸元組
σF(R)={t|tR∧F(t)='真'}F:選擇條件,是一個邏輯表達式,基本形式為:
[(]
X1θY1[)][φ[(]X2θY2[)]]…θ:比較運算符(>,≥,<,≤,=或<>)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替;φ:邏輯運算符(∧或∨)[]:表示任選項…:表示上述格式可以重復下去選擇(續(xù))3)選擇運算是從行的角度進行的運算4)舉例:設有一個學生-課程數(shù)據(jù)庫,包括學生關系Student、課程關系Course和選修關系SC。σ學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS(a)
Student例1例2例4例3例9選擇(續(xù))(b)Course課程號課程名先行課學分CnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學
23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結構746數(shù)據(jù)處理
27PASCAL語言64(c)SC學號課程號成績SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續(xù))[例1]查詢信息系(IS系)全體學生 σSdept
='IS'(Student)或σ5='IS'(Student)結果:SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS[例2]查詢年齡小于20歲的學生
σSage<20(Student) 或σ4<20(Student)結果:SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS2.投影(Projection)1)投影運算符的含義從R中選擇出若干屬性列組成新的關系πA(R)={t[A]|tR} A:R中的屬性列2)投影操作主要是從列的角度進行運算但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行)π投影(續(xù))3)舉例[例3]查詢學生的姓名和所在系 即求Student關系上學生姓名和所在系兩個屬性上的投影πSname,Sdept(Student) 或π2,5(Student)結果:SnameSdept李勇CS劉晨IS王敏MA張立IS[例4]查詢學生關系Student中都有哪些系πSdept(Student) 結果:SdeptCSISMA3.連接(Join)1)連接也稱為θ連接2)連接運算的含義從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組
RS={|tr
R∧ts
S∧tr[A]θts[B]}A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運算符
連接運算從R和S的廣義笛卡爾積R×S中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系的元組。
AθBtrts連接(續(xù))3)兩類常用連接運算等值連接(equijoin)什么是等值連接:為“=”的連接運算稱為等值連接等值連接的含義:從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:
RS={|tr
R∧tsS∧tr[A]=ts[B]}A=Btrts自然連接(Naturaljoin)
什么是自然連接:自然連接是一種特殊的等值連接兩個關系中進行比較的分量必須是相同的屬性組在結果中把重復的屬性列去掉自然連接的含義:R和S具有相同的屬性組B
R
S={|tr
R∧ts
S∧tr[B]=ts[B]}trts連接(續(xù))4)一般的連接操作是從行的角度進行運算。自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。
AθBRS5)舉例 [例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS連接(續(xù))R
S
AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310
C<E等值連接R
SR.B=S.B
AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù))自然連接R
S
ABCEa1b153a1b267a2b3810a2b3824)象集Z給定一個關系R(X,Z),X和Z為屬性組。當t[X]=x時,x在R中的象集(ImagesSet)為:Zx={t[Z]|tR,t[X]=x} 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。4.除(Division)給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。
R÷S={tr[X]|tr
R∧πY(S)
Yx}
Yx:x在R中的象集,x=tr[X]2)除操作是同時從行和列角度進行運算
3)舉例
[例6](p62)÷RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS分析:在關系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的象集包含了S在(B,C)屬性組上的投影所以R÷S={a1}5.綜合舉例以學生-課程數(shù)據(jù)庫為例(P.59)[例7]查詢至少選修1號課程和3號課程的學生號碼
首先建立一個臨時關系K:然后求:πSno.Cno(SC)÷K
Cno
1
3例7續(xù)πSno.Cno(SC)
95001象集{1,2,3} 95002象集{2,3}πCno(K)={1,3}于是:πSno.Cno(SC)÷K={95001}SnoCno950011950012950013950022950023綜合舉例(續(xù))[例8]查詢選修了2號課程的學生的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲娛樂聯(lián)營協(xié)議書
- 集體用地地產(chǎn)協(xié)議書
- 公司間債務償還協(xié)議書
- 陽臺封窗合同協(xié)議書
- 輕鋼別墅建房協(xié)議書
- 裝修保修責任協(xié)議書
- 裝修售后安全協(xié)議書
- 解除合資合同協(xié)議書
- 銀行集體賬戶協(xié)議書
- 問題設備置換協(xié)議書
- 抗?jié)B混凝土抗?jié)B試驗方法
- GB/T 11023-2018高壓開關設備六氟化硫氣體密封試驗方法
- 九年級十二班走讀生家長會課件
- 工改工政策分析課件
- 醇基燃料技術資料
- 施工企業(yè)資質(zhì)及承接工程的范圍
- 泥漿測試記錄表
- 《摩擦力》說課課件(全國獲獎實驗說課案例)
- 個人信用報告異議申請表
- 初中數(shù)學 北師大版 七年級下冊 變量之間的關系 用圖象表示的變量間關系 課件
- 2023年藝術與審美期末試卷答案參考
評論
0/150
提交評論