電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章_第1頁
電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章_第2頁
電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章_第3頁
電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章_第4頁
電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 內(nèi)容可修改電子課件數(shù)據(jù)庫基礎(chǔ)與應(yīng)用(微課版 第3版)第2章第2章 關(guān)系模型2.1 關(guān)系模型概述1970年 E. F. Codd 博士提出了關(guān)系模型關(guān)系數(shù)據(jù)庫采用關(guān)系模型主流的數(shù)據(jù)庫管理系統(tǒng)都支持關(guān)系模型關(guān)系模型:數(shù)據(jù)被組織成集合(關(guān)系)連接操作構(gòu)造數(shù)據(jù)之間的關(guān)系2.1.1 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是關(guān)系 直觀上,關(guān)系是一個表2.1.1 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)形式上,關(guān)系是一個集合。集合的元素叫做元組,或記錄元組是由簡單數(shù)據(jù)類型構(gòu)成的復合數(shù)據(jù)SnoSnameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜

2、凡男19管理2000014葛波女18計算機2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機Student = (,)2.1.1 域域:值的集合有名字等同于高級程序設(shè)計語言的數(shù)據(jù)類型,例如,int, float, String2.1.1 笛卡爾積和元組笛卡爾積是一種集合運算例如:S = 1, 2, 3, T = a, b S T = (1, a), (2, a), (3, a), (1, b), (2, b), (3, b) 元組一般是笛卡爾積運算得到的集合的元素2000012王林男19計算機例如:

3、元組域的笛卡爾積:String String String int String例如:元組(1, a)是S T 的元素2.1.1 關(guān)系關(guān)系是笛卡爾積運算得到的集合的子集,即元組的集合。StringStringStringIntString2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機Student = (,)String String String i

4、nt String2.1.1 關(guān)系模式關(guān)系模式描述了關(guān)系來自于哪個笛卡爾積 例如,描述Student 關(guān)系來自以下的笛卡爾積:SnoSnameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機Student (Sno, Sname , Ssex , Sage, Sdept )關(guān)系模式:關(guān)系模式的名字屬性String String String int String為了區(qū)分參與笛卡爾積運算的同名域,引入屬性的概念:有名字對應(yīng)一個域2.1.1 候選碼、主碼為了區(qū)分同一個關(guān)系的不

5、同元組,引入候選碼的概念。候選碼是一組屬性,有以下的特點:唯一性:不同的元組在這組屬性上的取值不同最小性:去掉任何一個屬性后,不再具有唯一性SnoSnameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機SnoCnoGrade20000121156802000113115689200025611569320000141156882000256113777200027811378920000121137702000012102480200001410248820000141

6、13690200001211367820000121128902000014112885如果一個關(guān)系有多個候選碼,則指定其中的一個用于區(qū)分不同的元組,這個候選碼叫做主碼例如,如果Student 關(guān)系還有一個屬性:身份證號 則學號和身份證號都是候選碼,可以指定學號作為主碼2.1.1 主屬性和非主屬性包含在任何一個候選碼中的屬性叫做主屬性不包含在任何一個候選碼中的屬性叫做非主屬性SnoSnameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機SnoCnoGrade200001

7、21156802000113115689200025611569320000141156882000256113777200027811378920000121137702000012102480200001410248820000141136902000012113678200001211289020000141128852.1.1 注意事項編 號姓 名職 稱工 資扣 除實發(fā)基本工齡職務(wù)房租水電費86051陳 平講 師120550801601201055姓 名課 程數(shù) 學物 理化 學王 林859092張大民977885顧 芳868996姜 凡789367葛 波897791屬性對應(yīng)的域只能是基

8、本數(shù)據(jù)類型,不能是復合數(shù)據(jù)類型2.1.1 注意事項屬性的值必須是單一值,不能是多個值姓 名電話號碼王 林8636xxxx(H),8797xxxx(O),139xxxxx001張大民133xxxxx125,138xxxxx8782.1.2關(guān)系模型的數(shù)據(jù)操作數(shù)據(jù)操作使用代數(shù)運算描述集合運算:并、交、差;在此基礎(chǔ)上,創(chuàng)建集合、銷毀集合、向集合添加元素、 從集合刪除元素,更改集合中某個元素的值。關(guān)系運算:選擇、投影、連接和除等。2.1.2關(guān)系模型的完整性實體完整性:主屬性必須賦予值,不能為空引用完整性:引用的元組必須存在用戶自定義完整性:對某些取值范圍的限制,或元組之間相互關(guān)系的約束2.2 關(guān)系代數(shù)運

9、算對象:關(guān)系運算符:、-、 、 、運算結(jié)果:關(guān)系 2.2 關(guān)系代數(shù)-集合運算1、并運算2個關(guān)系的屬性個數(shù)必須相同,同一個位置的屬性必須對應(yīng)同一個域運算結(jié)果是關(guān)系,所以要去重結(jié)果關(guān)系的屬性個數(shù)同參與運算的關(guān)系,屬性可以同名,也可以重命名2.2 關(guān)系代數(shù)-集合運算2、交運算2個關(guān)系的屬性個數(shù)必須相同,同一個位置的屬性對應(yīng)同一個域2.2 關(guān)系代數(shù)-集合運算3、差運算2個關(guān)系的屬性個數(shù)必須相同,同一個位置的屬性對應(yīng)同一個域2.2 關(guān)系代數(shù)-集合運算4、笛卡爾積兩個元組首尾相連得到新的元組結(jié)果關(guān)系的屬性,不能重名,如果重名要更名,一種方式是將關(guān)系名作為前綴2.2 關(guān)系代數(shù)-增、刪、改操作的實現(xiàn)SnoSn

10、ameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計算機2000089寧飛男18數(shù)學1、增加 Student = Student 2000089寧飛男18數(shù)學2、刪除 Student = Student - 2000014葛波女18計算機3、修改 Student = Student - 2000256顧芳女19管理2000256顧芳女20管理2.2 關(guān)系代數(shù)-關(guān)系運算1、選擇運算:選擇滿足給定條件的元組,得到新的關(guān)系條件用針對屬性的比較運算、邏輯運算表達2.2 關(guān)系代數(shù)-關(guān)

11、系運算2、投影運算:保留一些屬性,去掉其他的屬性,得到新的關(guān)系,可能需要去重2.2 關(guān)系代數(shù)-關(guān)系運算3、連接運算:根據(jù)屬性值之間的關(guān)系,形成元組之間的關(guān)聯(lián),得到新的關(guān)系-連接自然連接外連接(左外連接、右外連接、外連接)2.2 關(guān)系代數(shù)-關(guān)系運算2.2 關(guān)系代數(shù)-關(guān)系運算2.2 關(guān)系代數(shù)-關(guān)系運算4、除法運算:給定關(guān)系R (X, Y )和S (Y, Z ),其中X,Y,Z 為屬性組。RS 得到一個新關(guān)系P (X ),對于任何一個元組tP (X),有t x(R),且 t Y(S) R2.3 示例-使用關(guān)系代數(shù)表示查詢查詢:從數(shù)據(jù)庫的關(guān)系中找到滿足條件的數(shù)據(jù)構(gòu)造關(guān)系代數(shù)表達式的步驟:確定存儲了查詢

12、所需要的數(shù)據(jù)的關(guān)系確定運算過程組成關(guān)系代數(shù)表達式單個關(guān)系的查詢例2-1 查詢選修了1137號課程的學生的學號和成績。數(shù)據(jù)庫中有:Student、Course、SC SC(Sno, Cno, Grade)獲取選修了1137號課程的所有的選課記錄 Cno=1137(SC) R1(Sno, Cno, Grade)去除無用的信息 Sno,Grade(R1) R2(Sno, Grade)組合以上的運算 R2 Sno,Grade(R1) Sno,Grade(Cno=1137(SC)SnoCnoGrade2000012115680200011311568920002561156932000014115688

13、200025611377720002781137892000012113770200001210248020000141024882000014113690200001211367820000121128902000014112885SnoCnoGrade200025611377720002781137892000012113770SnoGrade200025677200027889200001270關(guān)系代數(shù)表達式的運算過程Sno,Grade(Cno=1137(SC)3 + 2 * 483 + 11 關(guān)系運算沒有規(guī)定優(yōu)先級當參與運算的關(guān)系已經(jīng)就位,就可以開始運算多個關(guān)系的查詢例2-3 查詢選修

14、了管理學課程的學生的學號和姓名 涉及Student、Course、SCCnoCnameCpnoCcredit1128高等數(shù)學61156英語61137管理學41024數(shù)據(jù)庫原理113641136離散數(shù)學112841030物理4CnoCnameCpnoCcredit1137管理學4獲取管理學課程的信息 Cname=管理學(Course) R1(Cno, Cname, Cpno, Ccredit) 多個關(guān)系的查詢R1 SC R2(Cno, Cname, Cpno, Ccredit, Sno, Grade)獲取選修了管理學課程的學生的學號等信息 CnoCnameCpnoCcredit1137管理學4S

15、noCnoGrade2000012115680200011311568920002561156932000014115688200025611377720002781137892000012113770200001210248020000141024882000014113690200001211367820000121128902000014112885CnoCnameCpnoCcreditSnoCnoGrade1137管理學420002561137771137管理學420002781137891137管理學42000012113770CnoCnameCpnoCcreditSnoGrade1

16、137管理學42000256771137管理學42000278891137管理學4200001270多個關(guān)系的查詢獲取學生姓名信息Student R2 R3(Sno, Sname, Ssex, Sage, Sdept, Cno, Cname,Cpno, Ccredit, Grade)CnoCnameCpnoCcreditSnoGrade1137管理學42000256771137管理學42000278891137管理學4200001270SnoSnameSsexSageSdept2000012王林男19計算機2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2

17、000014葛波女18計算機SnoSnameSsexSageSdeptCnoCnameCpnoCcreditGrade2000012王林男19計算機1137管理學4702000256顧芳女19管理1137管理學4772000278姜凡男19管理1137管理學489多個關(guān)系的查詢只保留學號和姓名 Sno, Sname(R3) R4(Sno, Sname)組合以上的運算Sno, Sname(Student ( Cname=管理學(Course) SC)SnoSnameSsexSageSdeptCnoCnameCpnoCcreditGrade2000012王林男19計算機1137管理學4702000

18、256顧芳女19管理1137管理學4772000278姜凡男19管理1137管理學489SnoSname2000012王林2000256顧芳2000278姜凡重名問題的處理例2-6 查詢至少選修了1024與1136號課程的學生的學號 SC(Sno, Cno, Grade)做笛卡爾積運算 SC SC R1(Sno, Cno, Grade, Sno, Cno, Grade)方法1:引入更名運算 R(RSno, RCno, RGrade)(SC(Sno, Cno, Grade) S(SSno, SCno, SGrade)(SC(Sno, Cno, Grade) R(RSno, RCno, RGrad

19、e)(SC) S(SSno, SCno, SGrade)(SC) R1(RSno, RCno, RGrade, SSno, SCno, SGrade)方法2:引入位置號 SC SC R1(Sno, Cno, Grade, Sno, Cno, Grade) 1 2 3 4 5 6如果是以下的運算 SC Course R1(Sno, Cno, Grade, Cno, Cname, Cpno, Ccredit) 方法3:引入前綴 SC Course R1(Sno, SC.Cno, Grade, Course.Cno, Cname, Cpno, Ccredit)方法一做笛卡爾積運算 SC SC R1(Sno, Cno, Grade, Sno, Cno, Grade)SnoCnoGrade2000012115680200011311568920002561156932000014115688200025611377720002781137892000012113770200001210248020000141024882000014113690200001211367820000121128902000014112885SnoCnoGradeSnoCnoG

溫馨提示

  • 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

提交評論