壓縮包第2章關(guān)系數(shù)據(jù)庫_第1頁
壓縮包第2章關(guān)系數(shù)據(jù)庫_第2頁
壓縮包第2章關(guān)系數(shù)據(jù)庫_第3頁
壓縮包第2章關(guān)系數(shù)據(jù)庫_第4頁
壓縮包第2章關(guān)系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1第二章第一講要點(diǎn)回顧1.關(guān)系數(shù)據(jù)結(jié)構(gòu)及其形式化定義域、笛卡爾積、關(guān)系及其性質(zhì)、關(guān)系模式R(U,D,dom,F(xiàn))、關(guān)系數(shù)據(jù)庫2.關(guān)系的完整性實(shí)體完整性規(guī)則和參照完整性規(guī)則

3.關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算:并、交、差、廣義笛卡爾積專門的關(guān)系運(yùn)算:選擇、投影、連接、除關(guān)系模型概述關(guān)系數(shù)據(jù)結(jié)構(gòu)及其形式化定義關(guān)系的完整性關(guān)系代數(shù)關(guān)系演算第二章 關(guān)系數(shù)據(jù)庫2.1

關(guān)系模型概述所謂關(guān)系模型是指用二維表格結(jié)構(gòu)來表示實(shí)體以及實(shí)體間聯(lián)系的模型。1.單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系2.關(guān)系操作及關(guān)系數(shù)據(jù)語言3.關(guān)系的三類完整性約束分支機(jī)構(gòu):分支編號(hào)所在城市地址郵編B0001北京北京海淀區(qū)青龍橋18號(hào)100091B0002石家莊石家莊市北馬路90號(hào)050003B0003大連大連中山區(qū)解放路10號(hào)116002B0004廣州廣州市沙河路40號(hào)510501B0005長沙長沙市韶山北路168號(hào)410003工作人員:工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000.B0001SS201錢光明男經(jīng)理6000.B0002SS212孫佩霞女經(jīng)理助理5000.B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周

全男經(jīng)理助理6000B0001SG401吳德海男經(jīng)理5500B00041.單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系2.1

關(guān)系模型概述2.關(guān)系操作及關(guān)系數(shù)據(jù)語言2.1

關(guān)系模型概述兩類關(guān)系操作選擇(Select)投影(Project)連接(Join)除(Divide)并(Union)交(Intersection)差(Difference)…增加(Insert)修改(Update)刪除(Delete)查詢更新關(guān)系數(shù)據(jù)語言2.1

關(guān)系模型概述——關(guān)系操作及關(guān)系數(shù)據(jù)語言關(guān)系代數(shù)語言關(guān)系演算語言具有上述雙重特點(diǎn)的語言。如:SQL元組關(guān)系演算語言。如:ALPHA、QUEL域關(guān)系演算語言。如:QBE3.關(guān)系的三類完整性約束2.1

關(guān)系模型概述實(shí)體完整性參照完整性(也稱引用完整性或關(guān)聯(lián)完整性)用戶定義的完整性(應(yīng)用完整性)關(guān)系的數(shù)學(xué)定義關(guān)系模式關(guān)系數(shù)據(jù)庫2.2

關(guān)系數(shù)據(jù)結(jié)構(gòu)及其形式化定義域是一組具有相同數(shù)據(jù)類型定義2.1的值的集合。2.2.1關(guān)系的數(shù)學(xué)定義1.

域(Domain)定義2.2給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:

D1×D2×…×Dn={(d1,d2,…,dn)|

di

?Di,i=1,…,n}其中每一個(gè)元素(d1,d2,…,dn)叫做n元組,元素中的每一個(gè)值di

叫做一個(gè)分量。2.笛卡爾積2.2.1

關(guān)系的數(shù)學(xué)定義若

Di

(i=1,2,…,n)

為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:nM=m1×m2×…×mn=∏mii=1例2.1D1=學(xué)號(hào)的集合={3001,3002,3003}D2=學(xué)生的集合={′趙一′

,′錢二′

,′張三′

}D3=性別的集合={′男′

,′女′

}則D1、D2和D3的笛卡爾積為:D1×D2×D3={(3001,′趙一′

,′男′

),(3001,′趙一′

,′女′

),(3001,′錢二′

,′男′

),(3001,′錢二′

,′女′

),(3001,′張三′

,′男′

),(3001,′張三′

,′女′

),(3002,′趙一′

,′男′

),(3002,′趙一′

,′女′

),(3002,′錢二′

,′男′

),(3002,′錢二′

,′女′

),(3002,′張三′

,′男′

),(3002,′張三′

,′女′

),(3003,′趙一′

,′男′

),(3003,′趙一′

,′女′

),(3003,′錢二′

,′男′

),(3003,′錢二′

,′女′

),(3003,′張三′

,′男′

),(3003,′張三′

,′女′

)}該笛卡爾積的基數(shù)為

3×3×3=18設(shè)D1、D2和D3是三個(gè)域,其中:2.2.1

關(guān)系的數(shù)學(xué)定義——笛卡爾乘積表2-1笛卡爾積學(xué)號(hào)姓名性別3001趙一男3001趙一女3001錢二男3001錢二女3001張三男3001張三女3002趙一男3002趙一女3002錢二男3002錢二女3002張三男3002張三女3003趙一男3003趙一女3003錢二男3003錢二女3003張三男3003張三女2.2.1

關(guān)系的數(shù)學(xué)定義——笛卡爾乘積2.2.1

關(guān)系的數(shù)學(xué)定義3001趙一20050301男3002錢二20050302女3003張三20050303男3.關(guān)系(Relation)定義2.3

D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的關(guān)系,表示為:R(D1,D2,…,Dn)其中R表示關(guān)系的名字,n是關(guān)系的目或維或度。表2—2

學(xué)生關(guān)系示例3001

趙一

20050301

男關(guān)系的屬性、元組、主碼、候選碼(鍵)元組屬性主碼候選碼(鍵)非碼屬性300130023003趙一錢二張三200503012005030220050303男女男2.2.1

關(guān)系的數(shù)學(xué)定義——關(guān)系2.2.1關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)性質(zhì)1:關(guān)系可以為空。性質(zhì)2:關(guān)系的屬性必須是同質(zhì)的。性質(zhì)3:關(guān)系中屬性的順序不影響關(guān)系的意義。性質(zhì)4:關(guān)系中元組的順序無關(guān)緊要,但同一關(guān)系中不能有相同的元組。2.2.1

關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(續(xù))性質(zhì)5:關(guān)系中的每一個(gè)屬性值都必須是原子的。(原子——單一的值)性質(zhì)6:同一關(guān)系中每個(gè)屬性都有一個(gè)不同的屬性名,不同屬性中的各個(gè)值可以取自相同的域。性質(zhì)7:關(guān)系是時(shí)間的函數(shù)。對關(guān)系數(shù)據(jù)庫的操作可能會(huì)使關(guān)系發(fā)生變化,例如插入、修改、刪除等操作。設(shè):關(guān)系名R為“學(xué)生”關(guān)系R的屬性名集合U={學(xué)號(hào),姓名,性別}N={1,2,3,…}N

是自然數(shù)的集合A

是姓名的集合B

是性別的集合B={

′男′,′女′}也就是說D是屬性組U中屬性所來自的域的集合dom為屬性向域的映像的集合學(xué)號(hào)——N

姓名——A

性別——BF

為屬性間數(shù)據(jù)的依賴關(guān)系的集合屬性學(xué)號(hào)來自于域N,屬性姓名來自于域A,屬性性別來自于域B集合

D={t|t∈N

V t∈A

V

t∈B

}定義2.4

關(guān)系的描述稱為關(guān)系模式。表示為:R(U,D,dom,F(xiàn))通常簡記為:R(U)或R(A1,A2,…,An),其中A1,A2,…,An為屬性名2.2.2

關(guān)系模式2.2.3關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫是長期存儲(chǔ)在計(jì)算機(jī)的存儲(chǔ)介質(zhì)內(nèi)的、按一定要求組織的、可共享的數(shù)據(jù)集合。DB是一個(gè)邏輯相關(guān)的數(shù)據(jù)共享集合,并含有對這些數(shù)據(jù)的描述,從而滿足信息的組織要求。關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫是具有不同關(guān)系名的規(guī)范化關(guān)系的一個(gè)集合。實(shí)體完整性參照完整性用戶定義的完整性2.3關(guān)系的完整性規(guī)則2.1實(shí)體完整性規(guī)則1.

實(shí)體完整性若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。說明:(該規(guī)則針對基本關(guān)系而言。)一個(gè)基本表通常對應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。①現(xiàn)實(shí)世界中的實(shí)體是可以區(qū)分的,既它們具有某種唯一性標(biāo)識(shí)。②與此相應(yīng),關(guān)系模型中以主碼(主鍵)作為唯一性標(biāo)識(shí)。③主碼中的屬性既主屬性不能取空值。2.3關(guān)系的完整性定義2.5設(shè)F是基本關(guān)系R的一個(gè)或一組屬2.參照完整性參照關(guān)系外碼F2.3關(guān)系的完整性性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼,并稱基本關(guān)系R為參照關(guān)系,基本關(guān)系S為被參照關(guān)系。被參照關(guān)系KsS分支機(jī)構(gòu)(分支編號(hào),所在城市,地址,郵編)R工作人員(工號(hào),姓名,性別,職務(wù),月薪,分支編號(hào))2.3關(guān)系的完整性——參照完整性規(guī)則2.2

參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng),則對于R中的每個(gè)元組在F上的值必須為:1.或者取空值(F的每個(gè)屬性值均為空值);2.或者等于S中的某個(gè)元組的主碼值。用戶定義的完整性一般是由數(shù)據(jù)庫的用戶根據(jù)自身的應(yīng)用要求所提出的約束條件或由數(shù)據(jù)庫管理員所指定的附加規(guī)則。3.用戶定義的完整性2.3關(guān)系的完整性例如:工作人員的數(shù)量限制;每一分支機(jī)構(gòu)只能有一名經(jīng)理;年齡的限制等等。2.4關(guān)系代數(shù)運(yùn)算符含義運(yùn)算符含義集合運(yùn)算符∪并專門的

關(guān)系運(yùn)算符×廣義迪卡爾積–差σ選擇∩交π投影比較運(yùn)算符>大于??連接≥大于等于÷除<小于≤小于等于邏輯運(yùn)算符?非=等于∧與≠不等∨或2.4.1傳統(tǒng)的集合運(yùn)算設(shè)關(guān)系R和關(guān)系S具有相同的維數(shù)n(即R和S都有n個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域,則其并、差、交運(yùn)算如下:并(Union)。關(guān)系R和關(guān)系S的并記為: R∪S={t|t

?

RV

t

?S}差(Difference)。關(guān)系R和關(guān)系S的差記為: R-S={t|t

?R∧t

ˇS}交(Intersection)。關(guān)系R和關(guān)系S的交記為: R∩S={t|t

?R∧t

?S}學(xué)號(hào)姓名性別3001趙一男3002錢二女3003孫三男3004李四女3005周五男學(xué)號(hào)姓名性別3001趙一男3002錢二女3006吳六男學(xué)號(hào)姓名性別3001趙一男3002錢二女3003孫三男3004李四女3005周五男3006吳六男關(guān)系R學(xué)號(hào)姓名性別3003孫三男3004李四女3005周五男學(xué)號(hào)姓名性別3001趙一男3002錢二女R∪

SR

SR

S2.4.1傳統(tǒng)的集合運(yùn)算并、差和交運(yùn)算舉例關(guān)系S設(shè)關(guān)系R的維數(shù)為n,關(guān)系S的維數(shù)m,則關(guān)系R和關(guān)系S的廣義笛卡爾積是一個(gè)(n+m)列的元組集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有K1個(gè)元組,S有K2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有K1×K2個(gè)元組。記為:R×S={

trts|tr

?R∧ts?S}2.4.1傳統(tǒng)的集合運(yùn)算4.廣義的笛卡爾積學(xué)號(hào)姓名性別3001趙一男3002錢二女3003張三男課程號(hào)課程名30C1計(jì)算機(jī)導(dǎo)論30C2數(shù)據(jù)結(jié)構(gòu)關(guān)系R學(xué)號(hào)姓名性別課程號(hào)課程名3001趙一男30C1計(jì)算機(jī)導(dǎo)論3001趙一男30C2數(shù)據(jù)結(jié)構(gòu)3002錢二女30C1計(jì)算機(jī)導(dǎo)論3002錢二女30C2數(shù)據(jù)結(jié)構(gòu)3003張三男30C1計(jì)算機(jī)導(dǎo)論3003張三男30C2數(shù)據(jù)結(jié)構(gòu)關(guān)系R

×S廣義的笛卡爾積實(shí)例關(guān)系S2.4.1傳統(tǒng)的集合運(yùn)算2.4.2專門的關(guān)系運(yùn)算一、先引入幾個(gè)記號(hào)①元組的分量t

[Ai]設(shè):關(guān)系模式為R(A1,A2,…,An),其中R為關(guān)系,A1,A2,…,An為屬性,t

?R表示t是R的一個(gè)元組。則t[Ai]表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。學(xué)號(hào)姓名性別3001趙一男tt[姓名]=‘趙一’②元組在屬性列上的分量集合t

[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}后剩余的屬性組。工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000B0001SG401吳德海男經(jīng)理5500B0004tA={‘姓名’,‘職務(wù)’}t

[A]=(‘趙海洋’,‘經(jīng)理’)2.4.2專門的關(guān)系運(yùn)算—幾個(gè)記號(hào)③不同關(guān)系中元組的連接tr

ts學(xué)號(hào)姓名性別3001趙一男3002錢二女3003張三男課程號(hào)課程名30C1計(jì)算機(jī)導(dǎo)論30C2數(shù)據(jù)結(jié)構(gòu)設(shè)R為n維關(guān)系,S為m維關(guān)系,tr?R,ts?S;tr

ts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量是R中的一個(gè)n元組,后m個(gè)分量是S中的一個(gè)m元組。R

Strt

s學(xué)號(hào)姓名性別課程號(hào)課程名3002錢二女30C2數(shù)據(jù)結(jié)構(gòu)tr

t

s2.4.2專門的關(guān)系運(yùn)算④象集給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。定義,當(dāng)t[X]=x時(shí),x在R中的象集為:Zx={t[Z]|t

?R,t[X]=x}2.4.2專門的關(guān)系運(yùn)算它表示R中屬性組X上值為x的諸元組在Z上分量的集合。④象集——實(shí)例設(shè)有關(guān)系R(X,Z):R({‘職務(wù)’},{‘工號(hào)’,‘姓名’,‘性別’,‘月薪’,‘所屬分支’})2.4.2專門的關(guān)系運(yùn)算工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000.B0001SS201錢光明男經(jīng)理6000.B0002SS212孫佩霞女經(jīng)理助理5000.B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周全男經(jīng)理助理6000B0001SG401吳德海男經(jīng)理5500B0004設(shè)t[X]=‘經(jīng)理’ZX

={(SB101,趙海洋,男,8000.,B0001),(SS201,錢光明,男,6000.,B0002),(SG401,吳德海,男,5500.,B0004)

}2.4.2專門的關(guān)系運(yùn)算吳德海

男 經(jīng)理

5500

B0004s性別=‘男’∧職務(wù)=‘經(jīng)理’(工工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002SS212孫佩霞女經(jīng)理助理5000B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周

全男經(jīng)理助理6000B0001SG401工號(hào)姓名性別職務(wù)月薪所屬分支作人員)SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002SG401吳德海男經(jīng)理5500B0004二、選擇(Selection)選擇又稱為限制。它是在關(guān)系R中選擇滿足給定條件的諸元組。記作:sF(R)={t|t

?R∧F(t)=‘真’}

(F是選擇條件)工作人員2.4.2專門的關(guān)系運(yùn)算—選擇工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002SS212孫佩霞女經(jīng)理助理5000B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周

全男經(jīng)理助理6000B0001SG401吳德海男經(jīng)理5500B0004s月薪≥6000∧職務(wù)=‘經(jīng)理’(工作人員)工作人員月薪6000元以上且職務(wù)為‘經(jīng)理’的選擇結(jié)果工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002選擇操作概念圖2.4.2專門的關(guān)系運(yùn)算—選擇“黃色”表示條件相關(guān)屬性列

“紅色”表示滿足條件元組分量

“淺綠色”表示滿足條件元組三、投影(Projection)關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。πA(R)={t[A]|t

?R}其中A為屬性或?qū)傩越M工號(hào)姓名性別職務(wù)月薪所屬分支SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002SS212孫佩霞女經(jīng)理助理5000B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周全男經(jīng)理助理6000B0001SG401吳德海男經(jīng)理5500B0004π姓名,月薪(工作人員)工作人員:姓名月薪趙海洋8000錢光明6000孫佩霞5000李萬章3000周

全6000吳德海55002.4.2

專門的關(guān)系運(yùn)算2.4.2

專門的關(guān)系運(yùn)算——投影π所屬分支(工作人員)所屬分支B0001B0002B0002B0002B0001B0004所屬分支B0001B0002B0004投影結(jié)果紅色為重復(fù)項(xiàng)圖2—5投影操作概念圖2.4.2

專門的關(guān)系運(yùn)算四、連接(Join)連接(也稱θ連接)。它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性滿足一定條件的元組。記作:R??S={trts|tr?R∧ts?S∧tr[A]θts[B]}AθBR??S=sAθB

(R×S)AθB其中:R、S是兩個(gè)關(guān)系,A是R的屬性,B是S的屬性A和B的值域具有相同的數(shù)據(jù)類型θ?{=,≠,>,<,≥,≤}tr[A]表示元組tr在屬性A上的值

ts[B]表示元組ts在屬性B上的值等值連接:θ為“=”的連接運(yùn)算R:工作人員S:分支機(jī)構(gòu)分支編號(hào)所在城市地址郵編B0001北京北京海淀區(qū)青龍橋18號(hào)100091B0002石家莊石家莊市北馬路90號(hào)050003B0003大連大連中山區(qū)解放路10號(hào)116002B0004廣州廣州市沙河路40號(hào)510501B0005長沙長沙市韶山北路168號(hào)410003工號(hào)姓名性別職務(wù)月薪分支編號(hào)SB101趙海洋男經(jīng)理8000B0001SS201錢光明男經(jīng)理6000B0002SS212孫佩霞女經(jīng)理助理5000B0002SS223李萬章男業(yè)務(wù)員3000B0002SB112周全男經(jīng)理助理6000B0001SG401吳德海男經(jīng)理5500B00042.4.2

專門的關(guān)系運(yùn)算——連接0091工號(hào)姓名性別職務(wù)月薪分支編號(hào)分支編號(hào)所在城市地址郵編SB101趙海洋男經(jīng)理8000B0001B0001北京北京海淀區(qū)青龍橋18號(hào)100091SS201錢光明男經(jīng)理6000B0002B0002石家莊石家莊市北馬路90號(hào)050003SS212孫佩霞女經(jīng)理助理5000B0002B0002石家莊石家莊市北馬路90號(hào)050003SS223李萬章男業(yè)務(wù)員3000B0002B0002石家莊石家莊市北馬路90號(hào)050003SB112周全男經(jīng)理助理6000B0001B0001北京北京海淀區(qū)青龍橋18號(hào)10SG401吳德海男經(jīng)理5500B0004B0004廣州廣州市沙河路40號(hào)510501表2—8等值連接后得到的新關(guān)系2.4.2

專門的關(guān)系運(yùn)算——連接R??S分支編號(hào)=分支編號(hào)工號(hào)姓名性別職務(wù)月薪分支編號(hào)所在城市地址郵編SB101趙海洋男經(jīng)理8000B0001北京北京海淀區(qū)青龍橋18號(hào)100091SS201錢光明男經(jīng)理6000B0002石家莊石家莊市北馬路90號(hào)050003SS212孫佩霞女經(jīng)理助理5000B0002石家莊石家莊市北馬路90號(hào)050003SS223李萬章男業(yè)務(wù)員3000B0002石家莊石家莊市北馬路90號(hào)050003SB112周全男經(jīng)理助理6000B0001北京北京海淀區(qū)青龍橋18號(hào)100091SG401吳德海男經(jīng)理5500B0004廣州廣州市沙河路40號(hào)5105012.4.2

專門的關(guān)系運(yùn)算——連接自然連接一種特殊的等值連接。要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組。并在結(jié)果中把重復(fù)的屬性列去掉。四、除(Division)2.4.2

專門的關(guān)系運(yùn)算R與S的除運(yùn)算得到一個(gè)新關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作:R÷S={

tr[X]|tr?

R∧πY(S)

Yx}給定關(guān)系R(X,Y)和S(Y,Z),其中X、Y、Z為屬性組,R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。2.4.2

專門的關(guān)系運(yùn)算——除除運(yùn)算實(shí)例R÷S:除法操作定義了屬性集合P上的一個(gè)關(guān)系,該關(guān)系的元組與S中每個(gè)元組的組合都能在R中找到匹配元組。關(guān)系R學(xué)號(hào)姓名性別3001趙一男3002錢二女關(guān)系P關(guān)系S圖2-6除法運(yùn)算實(shí)例YZ課程號(hào)課程名任課教師30C1計(jì)算機(jī)導(dǎo)論李四30C2數(shù)據(jù)結(jié)構(gòu)王五XY學(xué)號(hào)姓名性別課程號(hào)課程名3001趙一男30C1計(jì)算機(jī)導(dǎo)論3001趙一男30C2數(shù)據(jù)結(jié)構(gòu)3002錢二女30C1計(jì)算機(jī)導(dǎo)論3002錢二女30C2數(shù)據(jù)結(jié)構(gòu)3003張三男30C2數(shù)據(jù)結(jié)構(gòu)2.5關(guān)系演算元組關(guān)系演算語言ALPHA元組關(guān)系演算域關(guān)系演算語言QBE域關(guān)系演算2.5.1元組關(guān)系演算語言ALPHA介紹數(shù)理邏輯中的符號(hào):聯(lián)結(jié)詞:否定

非∧

合取

且∨

析取

或→

蘊(yùn)涵 如果…則…?

等值 當(dāng)且僅當(dāng)量詞:

x

全稱量詞 對于所有xx

存在量詞 存在x等詞:

=

相等 等于基本語句2.5.1元組關(guān)系演算語言ALPHA語

句操

作GET查詢PUT插入HOLD提取UPDATE修改DELETE刪除……操作對象[:操作條件]命令關(guān)鍵字

工作空間(表達(dá)式)邏輯表達(dá)式關(guān)系名、屬性名可以為空基本語句格式:操作語句一、檢索操作(GET語句)Student學(xué)號(hào)Sno課程號(hào)Cno成績Grade………圖2—7“學(xué)生—課程”數(shù)據(jù)庫學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept……………SCCourse課程號(hào)Cno課程名Cname先行課Cpno學(xué)分Ccredit…………2.5.1元組關(guān)系演算語言ALPHA的檢索用存在量詞

RANGE

Sc

XGET

W

(Student.Sname):?X(X.Sno=Student.Sno∧X.Con=’2’

)用X

代表Sc查詢選修2號(hào)課程的學(xué)生用元組變量

RANGE

Student

X的檢索

GET

W

(X.Sname):X.Sdept=’IS’用X

代表Student查詢信息系學(xué)生的名字操作類型示例簡要說明簡單檢索GET W

(SC.Cno)GET W

(Student)查詢所有課程號(hào)。查詢所有學(xué)生數(shù)據(jù)。2.5.1元組關(guān)系演算語言ALPHA—檢索操作檢索操作——實(shí)例限定檢索GET

W

(Student.Sno,Student.Sage):Student.Sage<20∧Student.Sdept=’IS’檢索信息系中年齡小于20歲的學(xué)生學(xué)號(hào)和年齡。排序檢索GET

W

(Student

.Sno,Student.Sage):Student.Sdept=’IS’

DOWNStudent.Sage檢索信息系學(xué)生的學(xué)號(hào)和年齡,按年齡降序排序。定額檢索GET

W

(1)

(Student.Sno):Student.Sdept=’IS’取出一個(gè)信息系學(xué)生的學(xué)號(hào)(規(guī)定了檢索出的元組個(gè)數(shù))操作類型示例簡要說明多關(guān)系表達(dá)式檢索RANGE

Sc

XGETW(Student.Sname,Course.Cname):?X(X.Grade≥90∧X.Sno=Student.Sno∧Course.Cno=X.Cno)用X

代表Sc查詢成績?yōu)?0分以上的學(xué)生名字和課程名字全稱量詞檢索RANGE

Sc

XGET

W

(Student.Sname):?X

(X.Sno≠Student.Sno∨X.Cno≠’1’)用X

代表Sc查詢不選1號(hào)課程學(xué)生的名字全稱、存在量詞檢索RANGE

Course

XRANGESC

YGET

W

(Student.Sname):?X?Y(Y.Sno=Student.Sno∧Y.Cno=X.Cno)用X

代表Course用Y

代表SC查詢選修了全部課程的學(xué)生2.5.1元組關(guān)系演算語言ALPHA—檢索操作檢索操作——實(shí)例(續(xù)1)2.5.1元組關(guān)系演算語言ALPHA—檢索操作檢索操作——實(shí)例(續(xù)2)RANGE

Course

X查詢至少選修了002學(xué)生所選課程的學(xué)生學(xué)號(hào)RANGESC

Y蘊(yùn)涵檢索RANGESCZGET

W(Student.Sno):?X(?Y(Y.Sno=’002’∧Y.Cno=X.Cno)→?Z(Z.Sno=Student.Sno∧Z.Cno=X.Cno))學(xué)號(hào)Sno課程號(hào)Cno成績Grade………SCCourse課程號(hào)Cno課程名Cname先行課Cpno學(xué)分Ccredit…………2.5.1元組關(guān)系演算語言ALPHA—檢索操作檢索操作——集函數(shù)函數(shù)名功能COUNT對元組計(jì)數(shù)TOTAL求總和MAX求最大值MIN求最小值A(chǔ)VG求平均值例:查詢學(xué)生所在系的數(shù)目(有多少個(gè)系)GET

W

(COUNT(Student.Sdept))查詢信息系學(xué)生的平均年齡GET

W

(AVG(Student.Sage):Student.Sdept=’IS’)2.5.1元組關(guān)系演算語言ALPHA二、更新操作——修改、插入和刪除1.修改操作——三步曲:①提取——把待修改的元組從數(shù)據(jù)庫中提取到工作區(qū)②修改——修改工作區(qū)中元組的內(nèi)容③更新——將修改后工作區(qū)中元組的內(nèi)容回送到數(shù)據(jù)庫2.5.1元組關(guān)系演算語言ALPHA—更新操作修改操作——示例例:將學(xué)號(hào)為1007的學(xué)生系別改為計(jì)算機(jī)系HOLD

W(Student.Sno,Student.Sdept):Student.Sno=’1007’MOVE ‘CS’

TO

W.SdeptUPDATE

W學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept……………1007萬

亮男21AC……………Student2.插入操作2.5.1元組關(guān)系演算語言ALPHA—更新操作分兩步:①建立新元組(MOVE

)。在工作區(qū)中建立新元組②添加數(shù)據(jù)庫(PUT)。把工作區(qū)中的新元組存入數(shù)據(jù)庫中例:MOVE ‘

2001’

TO W

.SnoMOVE

‘張志強(qiáng)’

TO

W.

SnameMOVE

‘男’

TO

W.

SsexMOVE

‘20’

TO

W.

SageMOVE ‘

AC’

TO

W.

SdeptPUT

W

(Student)3.刪除操作刪除操作分兩步:①提?。℉OLD)。把待刪除的元組從數(shù)據(jù)庫中提取到工作區(qū)②刪除(DELETE)例:

刪除學(xué)號(hào)為’2001’的學(xué)生元組

HOLD

W

(Student):Student.Sno=’2001’DELETE

W2.5.1元組關(guān)系演算語言ALPHA—更新操作更新操作——實(shí)例例:

將學(xué)號(hào)‘

2001’修改‘

3001’(涉及修改主碼)HOLD

W

(Student):Student.Sno=’2001’DELETE

WMOV ‘

3001’

TO W

.SnoMOV

‘張志強(qiáng)’

TO

W.

SnameMOV‘男’MOV

‘20’MOV‘AC’TO

W.

SsexTO

W.

SageTO

W.

SdeptPUT

W

(Student)2.5.1元組關(guān)系演算語言ALPHA—更新操作2.5.2

元組關(guān)系演算一、元組演算表達(dá)式和元組關(guān)系演算公式二、代數(shù)關(guān)系的運(yùn)算表達(dá)1.一般形式元組演算表達(dá)式:元組變量元組關(guān)系演算公式一、元組演算表達(dá)式和元組關(guān)系演算公式2.5.2元組關(guān)系演算{

t|Φ(t)}{t|Φ(t)}

表示使Φ(t)為真的元組集合。元組關(guān)系演算公式由原子公式和運(yùn)算符組成2.5.2元組關(guān)系演算——一、元組演算表達(dá)式和元組關(guān)系演算公式2.

原子公式設(shè)R是關(guān)系名,t、u是元組變量,i、j是分量,c是常數(shù)。原子公式有以下三類:①表示關(guān)系中的元組公式R(t)②表示兩個(gè)元組分量比較的公式t[i]θu[j]③表示元組分量與常量比較的公式t[i]θc若公式中一個(gè)元組變量前有全稱量詞()或存在量詞(),則稱該變量為約束變量;否則稱為自由變量。3.

約束元組變量和自由元組變量2.5.2元組關(guān)系演算——一、元組演算表達(dá)式和元組關(guān)系演算公式4.元組關(guān)系演算公式的遞歸定義2.5.2元組關(guān)系演算——一、元組演算表達(dá)式和元組關(guān)系演算公式①每個(gè)原子公式是元組關(guān)系演算公式。②如果Φ1和Φ2是元組關(guān)系演算公式則Φ1∧Φ2,Φ1∨Φ2,?Φ1也是元組關(guān)系演算公式。③若Φ是元組關(guān)系演算公式,則t(Φ)、t(Φ)也是元組關(guān)系演算公式。④有限次地使用上述規(guī)則得到的公式是元組關(guān)系演算公式。在元組演算公式中,各種運(yùn)算符的優(yōu)先次為:①括號(hào)②算術(shù)比較運(yùn)算符(=,≠,>,<,≥,≤)③量詞(和,其中的優(yōu)先級(jí)高于)④邏輯運(yùn)算符(?

高于∧高于∨)2.5.2元組關(guān)系演算二、代數(shù)關(guān)系的運(yùn)算表達(dá)并(Union)R∪S={t|R(t)

V

S(t)}差(Difference)R-S={t|R(t)∧?

S(t)}交(Intersection) R∩S={t|R(t)

∧S(t)}4.廣義的笛卡爾積2.5.2元組關(guān)系演算——代數(shù)關(guān)系的運(yùn)算表達(dá)設(shè)關(guān)系R的維數(shù)為n,關(guān)系S的維數(shù)m,則關(guān)系R和關(guān)系S的廣義笛卡爾積是一個(gè)(n+m)列的元組集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系

S的一個(gè)元組。記為:R×S={t(n+m)|( u(n)

)( v(m)

)(R(u)∧

S(v)∧t[1]=

u[1]∧t[2]=

u[2]∧…∧t[n]=

u[n]

∧t[n+1]=

v[1]∧…∧t[n+m]=

v[m])}5.投影(Projection)2.5.2元組關(guān)系演算——代數(shù)關(guān)系的運(yùn)算表達(dá)關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。π

i1,i2,…,ik(R)={t(k)|( u

)

(R(u

)∧t[1]=

u[

i1]∧…∧t[k]=

u[ik]})6. 選擇(Selection)選擇又稱為限制。它是在關(guān)系R中選擇滿足給定條件的諸元組。記作:σF(R)={t|R(t)∧F}2.5.2元組關(guān)系演算——代數(shù)關(guān)系的運(yùn)算表達(dá)一、QBE

語言概述二、檢索操作三、更新操作2.5.3域關(guān)系演算語言QBE一、QBE語言概述1.

什么是QBE

語言?QBE(QueryByExample)是按示例查詢的語言。2.5.3域關(guān)系演算語言QBE特點(diǎn):表格操作虛擬的例子作為操作示例面向域操作簡單顯示直觀關(guān)系名屬性名操作命令元組屬性值或查詢條件2.5.3域關(guān)系演算語言QBE——概述2.QBE語言的操作要素——①操作框架2.QBE語言的操作要素——②示例的構(gòu)成由示例元素和下劃線組成2.5.3域關(guān)系演算語言QBE——概述I.插入操作D.刪除操作U.修改操作P.顯示操作結(jié)果③操作符由操作命令關(guān)鍵字和“.”組成④條件運(yùn)算符在(=,<>,>,<,>=,<=)后加值_X

_T域變量二、檢索操作①提出操作請求②屏幕顯示空白表格2.5.3域關(guān)系演算語言QBE③在表格的左邊(關(guān)系名欄)輸入關(guān)系名StudentStudentSnoSnameSsexSageSheigthSdept④系統(tǒng)顯示該關(guān)系的屬性名⑤構(gòu)造查詢要求進(jìn)行查詢1.簡單查詢2.5.3

域關(guān)系演算語言QBE—檢索操作例:

檢索自動(dòng)控制系的所有學(xué)生(顯示學(xué)號(hào)和姓名)StudentSnoSnameSsexSageSheigthSdeptP._1001P._王一=AC例:檢索自動(dòng)控制系的所有學(xué)生的全部數(shù)據(jù)StudentSnoSnameSsexSageSheigthSdeptP._1001P._王一P._男P._18P._1.75AC例:檢索所有學(xué)生的全部數(shù)據(jù)2.5.3

域關(guān)系演算語言QBE—檢索操作StudentSnoSnameSsexSageSheigthSdeptP.或StudentSnoSnameSsexSageSheigthSdeptP._1001P._王一P._男P._10P._0.7_AAA2.條件檢索2.5.3

域關(guān)系演算語言QBE—檢索操作例:檢索自控系身高1米80以上的學(xué)生的學(xué)號(hào)和姓名StudentSnoSnameSsexSageSheigthSdeptP._1001P._王一>=1.80AC例:檢索自控系身高1米80以上男學(xué)生的學(xué)號(hào)和姓名StudentSnoSnameSsexSageSheigthSdeptP._1001P._王一男>=1.80AC3.排序檢索2.5.3

域關(guān)系演算語言QBE—檢索操作StudentSnoSnameSsexSageSheigthSdep

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論