數(shù)據(jù)庫原理 第三講 關系運算和完整性約束_第1頁
數(shù)據(jù)庫原理 第三講 關系運算和完整性約束_第2頁
數(shù)據(jù)庫原理 第三講 關系運算和完整性約束_第3頁
數(shù)據(jù)庫原理 第三講 關系運算和完整性約束_第4頁
數(shù)據(jù)庫原理 第三講 關系運算和完整性約束_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理第三講關系運算和完整性約束第一頁,共四十八頁,編輯于2023年,星期三還記得嗎?1、ER圖屬于哪一種數(shù)據(jù)模型?有何優(yōu)缺點?概念數(shù)據(jù)模型一些復雜關系無法表示,如文件夾與文件的關系是一種遞歸關系,用ER圖無法表示。2、數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)的特點?三級模式結(jié)構(gòu):內(nèi)模式、模式和外模式第二頁,共四十八頁,編輯于2023年,星期三關系數(shù)據(jù)庫關系模型概述關系數(shù)據(jù)結(jié)構(gòu)及形式化定義關系的完整性關系代數(shù)關系演算第三頁,共四十八頁,編輯于2023年,星期三關系模型概述關系數(shù)據(jù)庫應用數(shù)學方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的E.F.Codd,他從1970年起連續(xù)發(fā)表了多篇論文,奠定了關系數(shù)據(jù)庫的理論基礎。關系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng)。關系模型由數(shù)據(jù)結(jié)構(gòu)、關系操作集合和完整性約束三部分組成。第四頁,共四十八頁,編輯于2023年,星期三基本術(shù)語元組:表中的一行即為一個元組;屬性:表中的一列即為一個屬性;域(Domain):屬性的取值范圍;分量:元組中的一個屬性值;03李四03401張三001專業(yè)號姓名學號例第五頁,共四十八頁,編輯于2023年,星期三笛卡兒積定義:設D1、D2、…、Dn為任意集合,定義D1、D2、…、Dn的笛卡兒積為D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}笛卡兒積是一個集合,集合中的每一個元素(d1,d2,…,dn)叫做一個n元組,簡稱元組,元組中的每一個di叫做該元組的一個分量。注意:元組不是di的集合,元組中的分量是按序排列的,而集合中的元素是沒有排列次序的。如:(a,b,c)≠(b,a,c)≠(a,c,b){a,b,c}={b,a,c}={a,c,b}第六頁,共四十八頁,編輯于2023年,星期三笛卡兒積例:D1={0,1},D2={a,b,c},求D1和D2的笛卡兒積。01abc×

D1D2

0

a

0

b

0

c

1

a

1

b

1

cD1D2D1×D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}第七頁,共四十八頁,編輯于2023年,星期三關系定義:笛卡兒積D1×D2×…×Dn的任意一個子集稱為D1、D2、…、Dn上的一個關系。R1={(0,a),(0,c),(1,a)}是D1、D2上的一個關系;R2={(0,a),(1,a)}也是D1、D2上的一個關系。D1D2

0

a

0

c

1

aR1D1D2

0

a

1

aR2例:D1={0,1},D2={a,b,c}第八頁,共四十八頁,編輯于2023年,星期三關系例如:姓名={張三,李四},專業(yè)={管理,電子}姓名×專業(yè)=姓名專業(yè)張三管理張三電子李四管理李四電子笛卡兒積關系1姓名專業(yè)張三管理李四電子關系2姓名專業(yè)張三電子李四管理第九頁,共四十八頁,編輯于2023年,星期三對關系的限定和擴充限定:關系不能是無限集合擴充:在關系中為每個列取名(屬性名)可取消有序性的限制。姓名專業(yè)張三管理李四電子專業(yè)姓名管理張三電子李四=第十頁,共四十八頁,編輯于2023年,星期三關系的六條性質(zhì)關系同一列的數(shù)據(jù)類型相同;不同列的數(shù)據(jù)可出自同一域,但要取不同的列名(屬性名),同一關系中屬性名不可重復;列的次序可交換,結(jié)果是等價的;同一關系中,兩個元組不可完全相同;行(元組)的順序可任意交換;每一分量(列)必須是不可分的數(shù)據(jù)項。第十一頁,共四十八頁,編輯于2023年,星期三碼候選碼(關鍵字):能惟一標識元組的最小屬性組。超碼(SuperKey):在關系中能唯一標識元組的屬性集稱為關系的超碼。最簡單的情況:碼中只包含一個屬性。最極端的情況:整個屬性組構(gòu)成一個碼,稱全碼。主碼:當有多個候選碼時,選擇其中一個作為主碼。每個關系有且只有一個主碼。主屬性:主碼的諸屬性。非主屬性(非碼屬性):不包含在任何碼中的屬性。第十二頁,共四十八頁,編輯于2023年,星期三碼c1b2a4c2b3a3c2b2a2c1b1a1CBAc1b2a4c1b2a1c2b1a1c1b1a1CBA例:第十三頁,共四十八頁,編輯于2023年,星期三關系模式關系模式:關系名及其屬性名表。設關系名為R,其屬性為A1、A2、…,An,則關系模式為:R=(A1,A2,…,An)例:學生(學號,姓名,專業(yè))關系模式是型,是二維表的框架,關系是二維表,是某一時刻的值。關系模式是相對穩(wěn)定的,關系是動態(tài)變化的。

第十四頁,共四十八頁,編輯于2023年,星期三關系模型關系模型:整個數(shù)據(jù)庫中,所有關系模式的集合。如:學生-選課-課程數(shù)據(jù)庫的關系模型:學生(學號,姓名,專業(yè))課程(課程號,課程名)選課(學號,課程號,成績)關系數(shù)據(jù)庫:對應于一個關系模型的所有關系的集合。關系模型是型,是關系數(shù)據(jù)庫的框架,關系數(shù)據(jù)庫是某一時刻的值。關系模型是相對穩(wěn)定的,關系數(shù)據(jù)庫是動態(tài)變化的。

第十五頁,共四十八頁,編輯于2023年,星期三關系的完整性實體完整性參照完整性用戶定義的完整性第十六頁,共四十八頁,編輯于2023年,星期三實體完整性實體完整性是為了保證關系中沒有重復元組。主碼約束:如果屬性組A是主碼,則A不能取空值和重復值。如:學生關系中的“學號”,選課關系中的“學號、課程號”的都不能為“空”或重復。唯一性約束:對非主碼的碼的諸屬性可以取空值,但不能取重復值第十七頁,共四十八頁,編輯于2023年,星期三參照完整性例如:數(shù)據(jù)庫中有如下關系:在“學生”關系中插入元組(217,王五,06)可以嗎?學號姓名專業(yè)號001張三

01034李四

03專業(yè)號專業(yè)名

01機械

02管理

03電子學生專業(yè)第十八頁,共四十八頁,編輯于2023年,星期三參照完整性外碼:設A是關系R的一個屬性或?qū)傩越M,已知A非R的碼,但A是關系S的主碼,則稱A是R的外碼。R為參照關系,S為被參照關系。學號姓名專業(yè)號001張三

01034李四

03專業(yè)號專業(yè)名

01機械

02管理

03電子學生專業(yè)第十九頁,共四十八頁,編輯于2023年,星期三參照完整性參照完整性:若屬性或?qū)傩越MA是關系R的外碼,是關系S的主碼,則A必須取下列兩種情況之一:1.空值2.關系S中的某個主碼值例:圖書管理系統(tǒng)數(shù)據(jù)庫中存在下列關系:讀者(借書證號,姓名,單位)圖書(總編號,分類號,書名,作者)借書(借書證號,總編號,借閱日期)“借書”關系中“借書證號”和“總編號”的取值?實體完整性約束是對一個關系內(nèi)某些屬性的約束,而參照完整性約束是不同關系之間或同一關系的不同屬性之間的約束。第二十頁,共四十八頁,編輯于2023年,星期三用戶定義的完整性用戶定義的完整性:根據(jù)某一具體應用,數(shù)據(jù)庫中的數(shù)據(jù)應滿足的語義要求。例:學號由8位數(shù)字組成;姓名由8位字符串構(gòu)成;成績在0~100之間。DBMS提供了設置完整性約束的命令。設置完整性約束的目的是保證數(shù)據(jù)庫中數(shù)據(jù)的正確性。第二十一頁,共四十八頁,編輯于2023年,星期三關系代數(shù)關系代數(shù):將關系作為集合,對它實施各種集合運算和專門的關系運算。集合運算:并(∪)、交(∩)、差(–)、廣義笛卡爾積(×)專門的關系運算:投影(Π)、選擇()、連接()、除(÷)下面兩種運算符輔助上述運算:比較運算符:>、≥、<、、≠、

=邏輯運算符:(非)、(與)、(或)比較運算符優(yōu)先級高于邏輯運算符,邏輯運算符的優(yōu)先次序為、、第二十二頁,共四十八頁,編輯于2023年,星期三集合運算集合運算是二目運算,即兩個關系之間的運算,結(jié)果仍為關系(即元組的集合)。并、交、差設關系R與S都是n元關系(即n個屬性),且相應的屬性取自同一個域。并:R∪S={t│t

RtS}交:R∩S={t│t

RtS}差:R–S={t│t

RtS}RSRSRS第二十三頁,共四十八頁,編輯于2023年,星期三集合運算例:Rc1b2a2c2b2a1c1b1a1CBASc1b2a2c2b3a1c2b2a1CBAR∪Sc1b2a2c2b3a1c2b2a1c1b1a1CBAc1b1a1CBAR–

Sc1b2a2c2b2a1CBAR∩S第二十四頁,共四十八頁,編輯于2023年,星期三集合運算廣義笛卡兒積:設R為n元關系,S為m元關系,則R與S的廣義笛卡兒積是一個n+m元關系(即有n+m列屬性),元組的前n列是關系R的一個元組,后m列是關系S的一個元組。R×S={trts│trRtsS}tr表示R中的元組,ts表示S中的元組。若R有k1個元組,S有k2個元組則R×S有k1×k2個元組。第二十五頁,共四十八頁,編輯于2023年,星期三廣義笛卡兒積

例:Rc1b2a2c2b2a1c1b1a1CBASd3a2d2a1DA

A

B

C

A

D

a1b1c1a1d2a1b1c1a2d3a1b2c2a1d2a1b2c2a2d3a2b2c1a1d2a2b2c1a2d3R×S第二十六頁,共四十八頁,編輯于2023年,星期三專門的關系運算選擇:在一個關系中,選出符合給定條件的元組組成一個新的關系。

(R)={t│t

RF(t)=‘T’}F為選擇的條件,由邏輯運算符、、連接各算術(shù)表達式組成。算術(shù)表達式的形式為XθY,θ表示比較運算符,X、Y可以是屬性名(或?qū)傩孕蛱枺⒊A?、簡單函?shù)。作用:選擇運算是對一個關系進行行運算,它提供了構(gòu)造符合某種條件的原關系的子集的方法。第二十七頁,共四十八頁,編輯于2023年,星期三專門的關系運算例:學號姓名性別專業(yè)愛好

002張三女機械書法

078李四男電子繪畫

204王五男機械足球

021趙六女管理書法學生1.找出機械專業(yè)男生的信息。專業(yè)=“機械”

性別=“男”(學生)學號姓名性別專業(yè)愛好

204王五男機械足球2.找出非機械專業(yè)愛好書法的學生信息。專業(yè)=“機械”

愛好=“書法”(學生)學號姓名性別專業(yè)愛好

021趙六女管理書法第二十八頁,共四十八頁,編輯于2023年,星期三專門的關系運算投影:從一個關系中選擇某些屬性組成新的關系,新關系中,要去掉重復元組。Π(R)={t[A]│tR}A—從R中選出的若干屬性列。作用:投影主要是列運算,它提供了提取感興趣的列構(gòu)成新關系的方法。選擇和投影是對關系進行任意分割的有利工具。例:找出學生的姓名及專業(yè)。Π(學生)姓名,專業(yè)姓名專業(yè)張三機械李四電子王五機械趙六管理結(jié)果第二十九頁,共四十八頁,編輯于2023年,星期三專門的關系運算連接:從兩個關系的廣義笛卡兒積中選擇符合給定條件的元組,組成新的關系。

AθB:連接條件,兩關系中對應屬性的比較,對應屬性的屬性名可以不同,但值域必須相同。當θ為“=”時,稱等值連接,等值連接中有完全相同的兩列屬性。RS=R.AS.B(R×S)R.AS.B第三十頁,共四十八頁,編輯于2023年,星期三專門的關系運算自然連接:在等值連接的基礎上去掉重復列。記為:RS與等值連接的區(qū)別:自然連接要求有相同的屬性名,否則成為廣義笛卡兒積;自然連接沒有重復的列。作用:組裝關系利用選擇、投影、自然連接可以任意分割和組裝關系。這是關系模型優(yōu)于其它模型的關鍵。第三十一頁,共四十八頁,編輯于2023年,星期三專門的關系運算例:ABCa1b25a2b18BEb23b510b12RSRSC<E

AR.B

CS.B

E

a1

b2

5

b5

10

a2

b1

8

b5

10

AR.B

CS.B

E

a1

b2

5

b2

3

a2

b1

8

b1

2RSR.B=S.BRS

A

B

C

E

a1

b2

5

3

a2

b1

8

2第三十二頁,共四十八頁,編輯于2023年,星期三專門的關系運算:除例:d1c1b3a3d2c2b2a2d1c1b2a2d3c3b1a1d2c2b1a1d1c1b1a14321d2c2d1c143RSb2a2b1a121R÷S設關系S的屬性是關系R的屬性的一部分,則R÷S為這樣的關系:1、此關系的屬性是由屬于R但不屬于S的屬性組成;2、(R÷S)×S是關系R的一部分。33第三十三頁,共四十八頁,編輯于2023年,星期三象集象集:給定一個關系R(X,Y),X和Y為屬性組。當t[X]=x時,x在R中的象集為:Yx={t[Y]|tR,t[X]=x}SC’snocno950011

950012950013950022950023例如:95001的象集cno95001為{1,2,3}95002的象集cno95002為{2,3}第三十四頁,共四十八頁,編輯于2023年,星期三除給定關系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上投影的集合。記作:其中Yx為x在R中的象集,x=tr[X]。第三十五頁,共四十八頁,編輯于2023年,星期三除RSAa1第三十六頁,共四十八頁,編輯于2023年,星期三除在關系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,c3),(b2,c1)}顯然只有a1的象集(B,C)包含S在(B,C)屬性組上的投影,所以R÷S={a1}第三十七頁,共四十八頁,編輯于2023年,星期三除“除”的應用:一般用于查找?guī)в小八械摹?、“包含”等字眼的?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論