版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、關(guān)系數(shù)據(jù)庫模型,關(guān)系代數(shù)理論,關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)模型概述關(guān)系數(shù)據(jù)模型的結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的完整性規(guī)則關(guān)系代數(shù)關(guān)系演算,關(guān)系模型,1. 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 關(guān)系數(shù)據(jù)模型的操縱(運(yùn)算)3. 關(guān)系數(shù)據(jù)模型的完整性約束,關(guān)系數(shù)據(jù)操作,關(guān)系數(shù)據(jù)模型的操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改,關(guān)系代數(shù),概述 傳統(tǒng)的集合運(yùn)算 專門的關(guān)系運(yùn)算,概述,1. 關(guān)系代數(shù)2. 運(yùn)算的三要素3. 關(guān)系
2、代數(shù)運(yùn)算的三個(gè)要素4. 關(guān)系代數(shù)運(yùn)算的分類5. 表示記號(hào),概述,1.關(guān)系代數(shù)一種抽象的查詢語言用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢,概述(續(xù)),2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類,概述(續(xù)),集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的“水平”方向即行的角度來進(jìn)行專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作,表
3、關(guān)系代數(shù)運(yùn)算符,概述(續(xù)),,表 關(guān)系代數(shù)運(yùn)算符(續(xù)),概述(續(xù)),概述(續(xù)),4.關(guān)系代數(shù)運(yùn)算的分類 傳統(tǒng)的集合運(yùn)算 并、差、交、廣義笛卡爾積專門的關(guān)系運(yùn)算 選擇、投影、連接、除,概述(續(xù)),5.表示記號(hào) (1) R,t?R,t[Ai] 設(shè)關(guān)系模式為R(A1,A2,…,An)它的一個(gè)關(guān)系設(shè)為R。t?R表示t是R的一個(gè)元組t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量,概述
4、(續(xù)),(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) tr ts R為n目關(guān)系,S為m目關(guān)系。tr ?R,ts?S
5、, tr ts稱為元組的連接。它是一個(gè)n + m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。,,,概述(續(xù)),4)象集Zx 給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(Images Set)為: Zx={t[Z]|t ?R,t[X]=x} 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。,關(guān)系代數(shù),概述 傳統(tǒng)的集合運(yùn)算
6、 專門的關(guān)系運(yùn)算,傳統(tǒng)的集合運(yùn)算,并差交廣義笛卡爾積,1. 并(Union),R和S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域R∪S 仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成 R∪S = { t|t ? R∨t ?S },并(續(xù)),R,S,R∪S,2. 差(Difference),R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R - S 仍為n目關(guān)系,由屬于
7、R而不屬于S的所有元組組成 R -S = { t|t?R∧t?S },差(續(xù)),R,S,R-S,3. 交(Intersection),R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成 R∩S = { t|t ? R∧t ?S } R∩S = R –(R-S),交 (續(xù)),R,S,R ∩ S,4.
8、 廣義笛卡爾積(Extended Cartesian Product),Rn目關(guān)系,k1個(gè)元組Sm目關(guān)系,k2個(gè)元組R×S 列:(n+m)列的元組的集合元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組行:k1×k2個(gè)元組R×S = {tr ts |tr ?R ∧ ts?S },,,廣義笛卡爾積 (續(xù)),R,S,R × S,關(guān)系代數(shù),概述傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算,專門
9、的關(guān)系運(yùn)算,選擇投影連接除,1. 選擇(Selection),1) 選擇又稱為限制(Restriction)2) 選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 σF(R) = {t|t?R∧F(t)= '真'}F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為: [?( ] X1θY1 [ )][φ [?( ] X2θY2 [ )]]…θ:比較運(yùn)算符(>,≥
10、,<,≤,=或)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號(hào)來代替;φ:邏輯運(yùn)算符(∧或∨)[ ]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去,選擇(續(xù)),3) 選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算 4) 舉例設(shè)有一個(gè)學(xué)生-課程數(shù)據(jù)庫,包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。,選擇(續(xù)),(a),Student,例1,例2,例4,例3,例9,選擇(續(xù)),(b),Course,例9,選擇(續(xù)
11、),,(c),,SC,,例7,例9,選擇(續(xù)),[例1] 查詢信息系(IS系)全體學(xué)生 σSdept = 'IS' (Student)或 σ5 ='IS' (Student)結(jié)果:,,選擇(續(xù)),[例2] 查詢年齡小于20歲的學(xué)生 σSage < 20(Student) 或 σ4 < 20(Student)結(jié)果:
12、,,,2. 投影(Projection),1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系 πA(R) = { t[A] | t ?R }A:R中的屬性列,2. 投影(Projection),2)投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行),投影(續(xù)),3) 舉例[例3] 查詢學(xué)生的姓名和所在系即求Student關(guān)
13、系上學(xué)生姓名和所在系兩個(gè)屬性上的投影 πSname,Sdept(Student)或 π2,5(Student)結(jié)果:,,投影(續(xù)),投影(續(xù)),[例4] 查詢學(xué)生關(guān)系Student中都有哪些系 πSdept(Student)結(jié)果:,,3. 連接(Join),1)連接也稱為θ連接2)連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R
14、 S = { | tr ? R∧ts ?S∧tr[A]θts[B] }A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運(yùn)算符 連接運(yùn)算從R和S的廣義笛卡爾積R×S中選?。≧關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。,,連接(續(xù)),3)兩類常用連接運(yùn)算等值連接(equijoin) 什么是等值連接θ為“=”的連接運(yùn)算稱為等值連接 等值連接的
15、含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = { | tr ?R∧ts ?S∧tr[A] = ts[B] },A=B,連接(續(xù)),自然連接(Natural join) 什么是自然連接自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義R和S具有相同的屬性組B R
16、 S = { | tr ?R∧ts ?S∧tr[B] = ts[B] },,連接(續(xù)),4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。,連接(續(xù)),5)舉例 [例5],R,S,連接(續(xù)),R S,連接(續(xù)),等值連接 R S,連接(續(xù)),自然連接 R S,4)象集Z,給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組
17、。當(dāng)t[X]=x時(shí),x在R中的象集(Images Set)為: Zx={t[Z]|t ?R,t[X]=x} 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。,4)象集Z,R,S,4. 除(Division),給定關(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中滿足下列條件的元組在
18、X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。 R÷S = {tr [X] | tr ? R∧πY (S) ? Yx }Yx:x在R中的象集,x = tr[X],除(續(xù)),2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算,除(續(xù)),R,S,分析:,在關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4} a1的象集為 {(b1,c2),(b2,c3),(b2,c1)} a2的象
19、集為 {(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.綜合舉例,以學(xué)生-課程數(shù)據(jù)庫為例[例7] 查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼 首先建立一個(gè)臨時(shí)關(guān)系K: &
20、#160;然后求:πSno.Cno(SC)÷K,,綜合舉例(續(xù)),例 7續(xù) πSno.Cno(SC)95001象集{1,2,3}95002象集{2,3} πCno(K)={1,3} 于是:πSno.Cno(SC)÷K={95001},綜合舉例(續(xù)),[例 8] 查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。 πSno(σCno='2'(SC))={ 95001,95
21、002},綜合舉例(續(xù)),[例9] 查詢至少選修了一門其直接先行課為5號(hào)課程的課程的學(xué)生姓名。 πSname(σCpno='5'(Course SC Student))或 πSname(σCpno='5'(Course) SC πSno,Sname(Student))或 πSname (πSno (σCpno='5
22、39; (Course) SC) πSno,Sname (Student)),,綜合舉例(續(xù)),[例10] 查詢選修了全部課程的學(xué)生號(hào)碼和姓名。 πSno,Cno(SC)÷πCno(Course) πSno,Sname(Student),小結(jié),l 關(guān)系代數(shù)運(yùn)算關(guān)系代數(shù)運(yùn)算并、差、交、笛卡爾積、投影、選擇、連接、除基本運(yùn)算并、差、笛卡爾積、投影、選擇交、連接、除
23、可以用5種基本運(yùn)算來表達(dá) 引進(jìn)它們并不增加語言的能力,但可以簡化表達(dá),小結(jié)(續(xù)),l 關(guān)系代數(shù)表達(dá)式關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合后形成的式子l 典型關(guān)系代數(shù)語言ISBL(Information System Base Language)由IBM United Kingdom研究中心研制用于PRTV(Peterlee Relational Test Vehicle)實(shí)驗(yàn)系統(tǒng),3/22/2024,An Intro
24、duction to Database System,62,Homework,Reading:C. J. Date, An Introduction to Database Systems page 200-238R. Ramakrishnan, J. Gehrkepp,100-129丁寶康 pp44-66 練習(xí)R. Ramakrishnan, J. Gehrkepp,128-129,Exer
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言數(shù)據(jù)及數(shù)據(jù)運(yùn)算
- c語言運(yùn)算符
- 時(shí)態(tài)關(guān)系代數(shù)研究.pdf
- 關(guān)系代數(shù)→關(guān)系演算轉(zhuǎn)換系統(tǒng)的研制.pdf
- 代數(shù)基礎(chǔ)運(yùn)算
- 第四講-關(guān)系代數(shù)
- 第4講關(guān)系代數(shù)(一)
- 幾類格值自動(dòng)機(jī)的關(guān)系及其語言的代數(shù)性質(zhì).pdf
- Ockham代數(shù)及其同余關(guān)系.pdf
- 格蘊(yùn)涵代數(shù)與相關(guān)邏輯代數(shù)關(guān)系的研究.pdf
- 布爾代數(shù)的直覺Fuzzy子代數(shù)及布爾代數(shù)上的直覺Fuzzy同余關(guān)系.pdf
- c語言中條件運(yùn)算符的語法為
- 『基本ascii表和c語言運(yùn)算表查詢』
- c語言課程設(shè)計(jì)報(bào)告---小學(xué)算術(shù)運(yùn)算測試
- c語言課程設(shè)計(jì)報(bào)---小學(xué)算術(shù)運(yùn)算測試
- c語言課程設(shè)計(jì)報(bào)告--小學(xué)算術(shù)運(yùn)算測試
- C++類模板關(guān)系的抽象描述語言的設(shè)計(jì).pdf
- 格蘊(yùn)涵代數(shù)及其與相關(guān)邏輯代數(shù)的關(guān)系研究.pdf
- 矢量的基本代數(shù)運(yùn)算
- 關(guān)系代數(shù)教學(xué)系統(tǒng)研究.pdf
評(píng)論
0/150
提交評(píng)論