




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rè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)系是一個(gè)表2.1.1 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)形式上,關(guān)系是一個(gè)集合。集合的元素叫做元組,或記錄元組是由簡單數(shù)據(jù)類型構(gòu)成的復(fù)合數(shù)據(jù)SnoSnameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜
2、凡男19管理2000014葛波女18計(jì)算機(jī)2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)Student = (,)2.1.1 域域:值的集合有名字等同于高級程序設(shè)計(jì)語言的數(shù)據(jù)類型,例如,int, float, String2.1.1 笛卡爾積和元組笛卡爾積是一種集合運(yùn)算例如:S = 1, 2, 3, T = a, b S T = (1, a), (2, a), (3, a), (1, b), (2, b), (3, b) 元組一般是笛卡爾積運(yùn)算得到的集合的元素2000012王林男19計(jì)算機(jī)例如:
3、元組域的笛卡爾積:String String String int String例如:元組(1, a)是S T 的元素2.1.1 關(guān)系關(guān)系是笛卡爾積運(yùn)算得到的集合的子集,即元組的集合。StringStringStringIntString2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)Student = (,)String String String i
4、nt String2.1.1 關(guān)系模式關(guān)系模式描述了關(guān)系來自于哪個(gè)笛卡爾積 例如,描述Student 關(guān)系來自以下的笛卡爾積:SnoSnameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)Student (Sno, Sname , Ssex , Sage, Sdept )關(guān)系模式:關(guān)系模式的名字屬性String String String int String為了區(qū)分參與笛卡爾積運(yùn)算的同名域,引入屬性的概念:有名字對應(yīng)一個(gè)域2.1.1 候選碼、主碼為了區(qū)分同一個(gè)關(guān)系的不
5、同元組,引入候選碼的概念。候選碼是一組屬性,有以下的特點(diǎn):唯一性:不同的元組在這組屬性上的取值不同最小性:去掉任何一個(gè)屬性后,不再具有唯一性SnoSnameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)SnoCnoGrade20000121156802000113115689200025611569320000141156882000256113777200027811378920000121137702000012102480200001410248820000141
6、13690200001211367820000121128902000014112885如果一個(gè)關(guān)系有多個(gè)候選碼,則指定其中的一個(gè)用于區(qū)分不同的元組,這個(gè)候選碼叫做主碼例如,如果Student 關(guān)系還有一個(gè)屬性:身份證號 則學(xué)號和身份證號都是候選碼,可以指定學(xué)號作為主碼2.1.1 主屬性和非主屬性包含在任何一個(gè)候選碼中的屬性叫做主屬性不包含在任何一個(gè)候選碼中的屬性叫做非主屬性SnoSnameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)SnoCnoGrade200001
7、21156802000113115689200025611569320000141156882000256113777200027811378920000121137702000012102480200001410248820000141136902000012113678200001211289020000141128852.1.1 注意事項(xiàng)編 號姓 名職 稱工 資扣 除實(shí)發(fā)基本工齡職務(wù)房租水電費(fèi)86051陳 平講 師120550801601201055姓 名課 程數(shù) 學(xué)物 理化 學(xué)王 林859092張大民977885顧 芳868996姜 凡789367葛 波897791屬性對應(yīng)的域只能是基
8、本數(shù)據(jù)類型,不能是復(fù)合數(shù)據(jù)類型2.1.1 注意事項(xiàng)屬性的值必須是單一值,不能是多個(gè)值姓 名電話號碼王 林8636xxxx(H),8797xxxx(O),139xxxxx001張大民133xxxxx125,138xxxxx8782.1.2關(guān)系模型的數(shù)據(jù)操作數(shù)據(jù)操作使用代數(shù)運(yùn)算描述集合運(yùn)算:并、交、差;在此基礎(chǔ)上,創(chuàng)建集合、銷毀集合、向集合添加元素、 從集合刪除元素,更改集合中某個(gè)元素的值。關(guān)系運(yùn)算:選擇、投影、連接和除等。2.1.2關(guān)系模型的完整性實(shí)體完整性:主屬性必須賦予值,不能為空引用完整性:引用的元組必須存在用戶自定義完整性:對某些取值范圍的限制,或元組之間相互關(guān)系的約束2.2 關(guān)系代數(shù)運(yùn)
9、算對象:關(guān)系運(yùn)算符:、-、 、 、運(yùn)算結(jié)果:關(guān)系 2.2 關(guān)系代數(shù)-集合運(yùn)算1、并運(yùn)算2個(gè)關(guān)系的屬性個(gè)數(shù)必須相同,同一個(gè)位置的屬性必須對應(yīng)同一個(gè)域運(yùn)算結(jié)果是關(guān)系,所以要去重結(jié)果關(guān)系的屬性個(gè)數(shù)同參與運(yùn)算的關(guān)系,屬性可以同名,也可以重命名2.2 關(guān)系代數(shù)-集合運(yùn)算2、交運(yùn)算2個(gè)關(guān)系的屬性個(gè)數(shù)必須相同,同一個(gè)位置的屬性對應(yīng)同一個(gè)域2.2 關(guān)系代數(shù)-集合運(yùn)算3、差運(yùn)算2個(gè)關(guān)系的屬性個(gè)數(shù)必須相同,同一個(gè)位置的屬性對應(yīng)同一個(gè)域2.2 關(guān)系代數(shù)-集合運(yùn)算4、笛卡爾積兩個(gè)元組首尾相連得到新的元組結(jié)果關(guān)系的屬性,不能重名,如果重名要更名,一種方式是將關(guān)系名作為前綴2.2 關(guān)系代數(shù)-增、刪、改操作的實(shí)現(xiàn)SnoSn
10、ameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2000014葛波女18計(jì)算機(jī)2000089寧飛男18數(shù)學(xué)1、增加 Student = Student 2000089寧飛男18數(shù)學(xué)2、刪除 Student = Student - 2000014葛波女18計(jì)算機(jī)3、修改 Student = Student - 2000256顧芳女19管理2000256顧芳女20管理2.2 關(guān)系代數(shù)-關(guān)系運(yùn)算1、選擇運(yùn)算:選擇滿足給定條件的元組,得到新的關(guān)系條件用針對屬性的比較運(yùn)算、邏輯運(yùn)算表達(dá)2.2 關(guān)系代數(shù)-關(guān)
11、系運(yùn)算2、投影運(yùn)算:保留一些屬性,去掉其他的屬性,得到新的關(guān)系,可能需要去重2.2 關(guān)系代數(shù)-關(guān)系運(yùn)算3、連接運(yùn)算:根據(jù)屬性值之間的關(guān)系,形成元組之間的關(guān)聯(lián),得到新的關(guān)系-連接自然連接外連接(左外連接、右外連接、外連接)2.2 關(guān)系代數(shù)-關(guān)系運(yùn)算2.2 關(guān)系代數(shù)-關(guān)系運(yùn)算2.2 關(guān)系代數(shù)-關(guān)系運(yùn)算4、除法運(yùn)算:給定關(guān)系R (X, Y )和S (Y, Z ),其中X,Y,Z 為屬性組。RS 得到一個(gè)新關(guān)系P (X ),對于任何一個(gè)元組tP (X),有t x(R),且 t Y(S) R2.3 示例-使用關(guān)系代數(shù)表示查詢查詢:從數(shù)據(jù)庫的關(guān)系中找到滿足條件的數(shù)據(jù)構(gòu)造關(guān)系代數(shù)表達(dá)式的步驟:確定存儲了查詢
12、所需要的數(shù)據(jù)的關(guān)系確定運(yùn)算過程組成關(guān)系代數(shù)表達(dá)式單個(gè)關(guān)系的查詢例2-1 查詢選修了1137號課程的學(xué)生的學(xué)號和成績。數(shù)據(jù)庫中有:Student、Course、SC SC(Sno, Cno, Grade)獲取選修了1137號課程的所有的選課記錄 Cno=1137(SC) R1(Sno, Cno, Grade)去除無用的信息 Sno,Grade(R1) R2(Sno, Grade)組合以上的運(yùn)算 R2 Sno,Grade(R1) Sno,Grade(Cno=1137(SC)SnoCnoGrade2000012115680200011311568920002561156932000014115688
13、200025611377720002781137892000012113770200001210248020000141024882000014113690200001211367820000121128902000014112885SnoCnoGrade200025611377720002781137892000012113770SnoGrade200025677200027889200001270關(guān)系代數(shù)表達(dá)式的運(yùn)算過程Sno,Grade(Cno=1137(SC)3 + 2 * 483 + 11 關(guān)系運(yùn)算沒有規(guī)定優(yōu)先級當(dāng)參與運(yùn)算的關(guān)系已經(jīng)就位,就可以開始運(yùn)算多個(gè)關(guān)系的查詢例2-3 查詢選修
14、了管理學(xué)課程的學(xué)生的學(xué)號和姓名 涉及Student、Course、SCCnoCnameCpnoCcredit1128高等數(shù)學(xué)61156英語61137管理學(xué)41024數(shù)據(jù)庫原理113641136離散數(shù)學(xué)112841030物理4CnoCnameCpnoCcredit1137管理學(xué)4獲取管理學(xué)課程的信息 Cname=管理學(xué)(Course) R1(Cno, Cname, Cpno, Ccredit) 多個(gè)關(guān)系的查詢R1 SC R2(Cno, Cname, Cpno, Ccredit, Sno, Grade)獲取選修了管理學(xué)課程的學(xué)生的學(xué)號等信息 CnoCnameCpnoCcredit1137管理學(xué)4S
15、noCnoGrade2000012115680200011311568920002561156932000014115688200025611377720002781137892000012113770200001210248020000141024882000014113690200001211367820000121128902000014112885CnoCnameCpnoCcreditSnoCnoGrade1137管理學(xué)420002561137771137管理學(xué)420002781137891137管理學(xué)42000012113770CnoCnameCpnoCcreditSnoGrade1
16、137管理學(xué)42000256771137管理學(xué)42000278891137管理學(xué)4200001270多個(gè)關(guān)系的查詢獲取學(xué)生姓名信息Student R2 R3(Sno, Sname, Ssex, Sage, Sdept, Cno, Cname,Cpno, Ccredit, Grade)CnoCnameCpnoCcreditSnoGrade1137管理學(xué)42000256771137管理學(xué)42000278891137管理學(xué)4200001270SnoSnameSsexSageSdept2000012王林男19計(jì)算機(jī)2000113張大民男18管理2000256顧芳女19管理2000278姜凡男19管理2
17、000014葛波女18計(jì)算機(jī)SnoSnameSsexSageSdeptCnoCnameCpnoCcreditGrade2000012王林男19計(jì)算機(jī)1137管理學(xué)4702000256顧芳女19管理1137管理學(xué)4772000278姜凡男19管理1137管理學(xué)489多個(gè)關(guān)系的查詢只保留學(xué)號和姓名 Sno, Sname(R3) R4(Sno, Sname)組合以上的運(yùn)算Sno, Sname(Student ( Cname=管理學(xué)(Course) SC)SnoSnameSsexSageSdeptCnoCnameCpnoCcreditGrade2000012王林男19計(jì)算機(jī)1137管理學(xué)4702000
18、256顧芳女19管理1137管理學(xué)4772000278姜凡男19管理1137管理學(xué)489SnoSname2000012王林2000256顧芳2000278姜凡重名問題的處理例2-6 查詢至少選修了1024與1136號課程的學(xué)生的學(xué)號 SC(Sno, Cno, Grade)做笛卡爾積運(yùn)算 SC SC R1(Sno, Cno, Grade, Sno, Cno, Grade)方法1:引入更名運(yùn)算 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如果是以下的運(yùn)算 SC Course R1(Sno, Cno, Grade, Cno, Cname, Cpno, Ccredit) 方法3:引入前綴 SC Course R1(Sno, SC.Cno, Grade, Course.Cno, Cname, Cpno, Ccredit)方法一做笛卡爾積運(yùn)算 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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園法人財(cái)產(chǎn)管理制度
- 化工廠環(huán)保設(shè)備管理制度
- 醫(yī)院血液科病房管理制度
- 培訓(xùn)學(xué)學(xué)校教學(xué)管理制度
- 專項(xiàng)應(yīng)付款資金管理制度
- 學(xué)院五級網(wǎng)格化管理制度
- 高二下期末化學(xué)模擬卷(含答案)
- Photoshop圖形圖像處理教程第9章(3)章節(jié)
- 井田開拓 煤礦生產(chǎn)系統(tǒng)
- 瓦斯工作面措施效果檢驗(yàn)
- 大學(xué)語文-第四講魏晉風(fēng)度和魏晉文學(xué)-課件
- 我們畢業(yè)啦畢業(yè)季通用模板課件
- 小升初數(shù)學(xué)復(fù)習(xí)八(平面圖形)講義課件
- (完整版)基建建設(shè)工程流程圖
- 墻體開槽技術(shù)交底及記錄
- 國家開放大學(xué)《調(diào)劑學(xué)(本)》形考任務(wù)1-4參考答案
- 公務(wù)員工資套改和運(yùn)行案例
- 鐵路貨物裝載常用計(jì)算公式
- 哥尼斯堡七橋問題PPT課件
- 總包(消防)管理方案
- 工具鉗工理論知識鑒定要素細(xì)目表09版
評論
0/150
提交評論