版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版商務(wù)車租賃合同(含保險(xiǎn)責(zé)任條款)
- 二零二五版合作開發(fā)房地產(chǎn)合同綠色建筑認(rèn)證3篇
- 2025年綠色建筑土石方工程承包合同樣本2篇
- 2025年度菜園大棚蔬菜種植與農(nóng)業(yè)科技研發(fā)合同3篇
- 2025版路燈設(shè)施安全檢查與應(yīng)急搶修服務(wù)合同4篇
- 二零二四年醫(yī)療耗材配件銷售代理合同樣本3篇
- 2025年度工業(yè)用地場地租賃及使用權(quán)轉(zhuǎn)讓合同3篇
- 2025年度車輛租賃與道路救援服務(wù)合同3篇
- 2025年新能源汽車專用車位租賃與充電服務(wù)合同2篇
- 2025年度房地產(chǎn)項(xiàng)目融資合同8篇
- 家庭年度盤點(diǎn)模板
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含答案
- 2024年資格考試-WSET二級(jí)認(rèn)證考試近5年真題集錦(頻考類試題)帶答案
- 試卷中國電子學(xué)會(huì)青少年軟件編程等級(jí)考試標(biāo)準(zhǔn)python三級(jí)練習(xí)
- 公益慈善機(jī)構(gòu)數(shù)字化轉(zhuǎn)型行業(yè)三年發(fā)展洞察報(bào)告
- 飼料廠現(xiàn)場管理類隱患排查治理清單
- 【名著閱讀】《紅巖》30題(附答案解析)
- Starter Unit 2 同步練習(xí)人教版2024七年級(jí)英語上冊
- 分?jǐn)?shù)的加法、減法、乘法和除法運(yùn)算規(guī)律
- 2024年江蘇鑫財(cái)國有資產(chǎn)運(yùn)營有限公司招聘筆試沖刺題(帶答案解析)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
評(píng)論
0/150
提交評(píng)論