




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、關(guān)系模型關(guān)系模型12 十月 20222數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型提綱2.1關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)2.2關(guān)系代數(shù)基本運(yùn)算2.3附加的關(guān)系代數(shù)運(yùn)算2.4擴(kuò)展的關(guān)系代數(shù)運(yùn)算2.5空值2.6數(shù)據(jù)庫的修改本章之后講解5.1:元組關(guān)系演算Chapter3-4:sql10 十月 20222數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型提綱2.12 十月 20223數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模型回顧E.F.Codd于70年代初提出關(guān)系數(shù)據(jù)理論,他因此獲得1981年的ACM圖靈獎(jiǎng)關(guān)系理論是建立在集合代數(shù)理論基礎(chǔ)上的,有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)早期代表系統(tǒng)System:由IBM研制INGRES:由加州Berkeley分校研制目前主流的商業(yè)數(shù)據(jù)庫系統(tǒng)
2、Oracle,SQL Server,DB2Access,F(xiàn)oxpro,F(xiàn)oxbase10 十月 20223數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模型12 十月 20224數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)-關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示數(shù)據(jù)的邏輯結(jié)構(gòu)-二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表 10 十月 20224數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月 20225數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念域(Domain)一組值的集合,這組值具有相同的數(shù)據(jù)類型如整數(shù)的集合、字符串的集合、全體學(xué)生的集合笛卡爾積(Cartesian Pr
3、oduct)一組域D1 , D2 , Dn的笛卡爾積為:D1D2Dn = (d1 , d2 , , dn) | diDi , i=1,n笛卡爾積的每個(gè)元素(d1 , d2 , , dn)稱作一個(gè)n-元組(n-tuple)元組的每一個(gè)值di叫做一個(gè)分量(component)若Di的基數(shù)為mi,則笛卡爾積的基數(shù)為10 十月 20225數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月 20226數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念例:設(shè) D1為教師集合(T)= t1,t2 D2為學(xué)生集合(S)= s1,s2 ,s3 D3為課程集合(C)= c1,c2 則D1D2D3是個(gè)三元組集合,元組個(gè)數(shù)為23
4、2,是所有可能的(教師,學(xué)生,課程)元組集合笛卡爾積可表示為二維表的形式TSCt1s1c1t1s1c2t1s2c1t2s3c210 十月 20226數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月 20227數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念關(guān)系笛卡爾積D1D2Dn的子集叫做在域D1 , D2 , Dn上的關(guān)系,用R(D1 , D2 , Dn )表示R是關(guān)系的名字,n是關(guān)系的度或目關(guān)系是笛卡爾積中有意義的子集關(guān)系也可以表示為二維表關(guān)系TEACH(T, S, C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元組屬性10 十月 20227數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月
5、20228數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念關(guān)系的性質(zhì)列是同質(zhì)的即每一列中的分量來自同一域,是同一類型的數(shù)據(jù)如TEACH(T, S, C)=(t1 , s1 , c1), (t1 , t2 , c1)是錯(cuò)誤的不同的列可來自同一域,每列必須有不同的屬性名如P=t1,t2 , s1,s2 ,s3,C= c1,c2,則TEACH不能寫成TEACH (P, P, C),還應(yīng)寫成TEACH(T, S, C)10 十月 20228數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月 20229數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念行列的順序無關(guān)緊要遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),增加
6、新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序任意兩個(gè)元組不能完全相同(集合內(nèi)不能有相同的兩個(gè)元素)由笛卡爾積的性質(zhì)決定,但許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì)例如,Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件10 十月 20229數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.12 十月 202210數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.1關(guān)系基本概念每一分量必須是不可再分的數(shù)據(jù)。滿足這一條件的關(guān)系稱作滿足第一范式(1NF)的10 十月 202210數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202211數(shù)據(jù)庫
7、系統(tǒng)概念-關(guān)系模型2.1.2 數(shù)據(jù)庫模式DB schema關(guān)系的模式和實(shí)例關(guān)系模式(型),關(guān)系(變量),實(shí)例(值)表述方式關(guān)系模式:S (sno,sname,dept)關(guān)系及關(guān)系模式:scSC不同關(guān)系中屬性名稱相同,用以闡述不同關(guān)系的元組之間的聯(lián)系ssccSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1C180C1DSS2乙軟S1C290C2DBS3丙軟S2C17010 十月 202211數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202212數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.2 數(shù)據(jù)庫模式關(guān)系模式表現(xiàn)了型的概念,它代表著表的框架;關(guān)系表現(xiàn)為值的概念,成為關(guān)系實(shí)例一個(gè)關(guān)系
8、模式下可以建立多個(gè)關(guān)系,例如在學(xué)生關(guān)系的關(guān)系模式下,可以為全校所有班級各建一個(gè)學(xué)生表表是動(dòng)態(tài)的,是數(shù)據(jù)庫中數(shù)據(jù)的快照關(guān)系數(shù)據(jù)庫是關(guān)系的集合,其中每個(gè)關(guān)系都有自己的關(guān)系模式 10 十月 202212數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202213數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.2模式構(gòu)造問題S同SC合并為一個(gè)表如何?優(yōu)點(diǎn):表的數(shù)量少缺點(diǎn):數(shù)據(jù)冗余、被迫引入空值、插入異常、刪除異常模式構(gòu)造的方法和原則SCSnoCnoScoreS1C180S1C290S2C170SSnoSnameS1甲S2乙S3丙S-SCSnoSnameCnoScoreS1甲C180S1甲C290S2乙C170S3丙10 十
9、月 202213數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202214數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.2模式構(gòu)造問題銀行例子10 十月 202214數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202215數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.2模式構(gòu)造問題10 十月 202215數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202216數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型其他可能的模式優(yōu)點(diǎn):表的數(shù)量少缺點(diǎn):數(shù)據(jù)冗余、被迫引入空值、插入異常、刪除異常10 十月 202216數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型其他可12 十月 202217數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.3碼超碼(superkey)是一個(gè)或多個(gè)屬性的集合,這些屬性的
10、集合可以使我們在一個(gè)關(guān)系中唯一地標(biāo)識一個(gè)元組候選碼(Candidate Key)關(guān)系中的一個(gè)屬性組,其值能唯一標(biāo)識一個(gè)元組。若從屬性組中去掉任何一個(gè)屬性,它就不具有這一性質(zhì)了,這樣的屬性組稱作候選碼,如DEPT中的D#,DN都可作為候選碼任何一個(gè)候選碼中的屬性稱作主屬性,如SC中的S#,C#10 十月 202217數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202218數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.3碼主碼(Primary Key)進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),從一個(gè)關(guān)系的多個(gè)候選碼中選定一個(gè)作為主碼,如可選定D#作為DEPT的主碼外部碼(Foreign Key)關(guān)系R中的一個(gè)屬性組,它不是R的碼,但它與
11、另一個(gè)關(guān)系S的碼相對應(yīng),則稱這個(gè)屬性組為R的外部碼,如S關(guān)系中的D#屬性R是參照關(guān)系(Referencing Relation)S是被參照關(guān)系(Referenced Relation)R通過外碼F參照關(guān)系S如何確定超碼按照現(xiàn)實(shí)世界語義約束定義碼不能依據(jù)對數(shù)據(jù)的歸納總結(jié)定義碼10 十月 202218數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202219數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型模式圖schema diagram模式圖表示各關(guān)系模式屬性主碼關(guān)系引用10 十月 202219數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型模式圖12 十月 202220數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型我們常用的例子數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系實(shí)體集、聯(lián)系
12、都表示成關(guān)系DEPT(D# , DN , DEAN)S(S# , SN , SEX , AGE , D#)C(C# , CN , PC# , CREDIT)SC(S# , C# , SCORE)PROF(P# , PN, D# , SAL)學(xué)生選修屬于系教師工作管理課程先修10 十月 202220數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型我們常12 十月 202221數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模型DEANDND#DEPTD#AGESEXSNS#SPC#CREDITCNC#CD#SALPNP#PROFSCOREC#S#SC10 十月 202221數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202222數(shù)據(jù)庫系統(tǒng)概
13、念-關(guān)系模型例子S#SNAGESDS#C#G9801張三20D19801C1629805李四21D29801C2739805C380S SC 10 十月 202222數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型例子S12 十月 202223數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性實(shí)體完整性關(guān)系的主碼中的屬性值不能為空值空值:不知道或無意義意義:關(guān)系對應(yīng)到現(xiàn)實(shí)世界中的實(shí)體集,元組對應(yīng)到實(shí)體,實(shí)體是相互可區(qū)分的,通過主碼來唯一標(biāo)識,若主碼為空,則出現(xiàn)不可標(biāo)識的實(shí)體,這是不容許的10 十月 202223數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202224數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性關(guān)系模型必須遵守實(shí)體完整
14、性規(guī)則的原因?qū)嶓w完整性規(guī)則是針對基本關(guān)系而言的。一個(gè)基本表通常對應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對多聯(lián)系現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識主碼中的屬性即主屬性不能取空值空值就是“不知道”或“無意義”的值主屬性取空值,就說明存在某個(gè)不可標(biāo)識的實(shí)體,即存在不可區(qū)分的實(shí)體,這與實(shí)體的可區(qū)分性相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性10 十月 202224數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202225數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性注意實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值例選修(學(xué)號,課程號,成績)“學(xué)號、課程號
15、”為主碼,則兩個(gè)屬性都不能取空值。10 十月 202225數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202226數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性參照完整性(Referential Integrity) 在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用例1 學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對多聯(lián)系 學(xué)生(學(xué)號,姓名,性別,院系編號,年齡) 專業(yè)(院系編號,專業(yè)名)10 十月 202226數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202227數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性參照完整性如果關(guān)系R2的外部碼Fk與關(guān)系R1的主碼Pk相對應(yīng),則R2中
16、的每一個(gè)元組的Fk值或者等于R1 中某個(gè)元組的Pk 值,或者為空值意義:如果關(guān)系R2的某個(gè)元組t2參照了關(guān)系R1的某個(gè)元組t1,則t1必須存在例如關(guān)系S在D#上的取值有兩種可能空值,表示該學(xué)生尚未分到任何系中若非空值,則必須是DEPT關(guān)系中某個(gè)元組的D#值,表示該學(xué)生不可能分到一個(gè)不存在的系中10 十月 202227數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202228數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性10 十月 202228數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202229數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系 學(xué)生(學(xué)號,姓名,性別,專業(yè)號
17、,年齡) 課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績)10 十月 202229數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202230數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對多)10 十月 202230數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202231數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性用戶定義的完整性用戶針對具體的應(yīng)用環(huán)境定義的完整性約束條件如S#要求是8位整數(shù),SEX要求取值為“男”或“女”系統(tǒng)支持實(shí)體完整性和參照完整性由系統(tǒng)自動(dòng)支持系統(tǒng)應(yīng)提供定義和檢驗(yàn)用戶定義的完整性的機(jī)制10 十月 202231數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月
18、202232數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性課程(課程號,課程名,學(xué)分)“課程名”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值1,2,3,410 十月 202232數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202233數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模式的完整性供應(yīng)商號供應(yīng)商名所在城市B01紅星北京S10宇宙上海T20黎明天津Z01立新重慶零件號顏色供應(yīng)商號010紅B01312白S10 201藍(lán)T20 今要向關(guān)系P中插入新行,新行的值分別列出如下。哪些行能夠插入?A.(037,綠,null)B.(null,黃,T20)C.(201,紅,T20)D.(105,藍(lán),B01
19、)E.(101,黃,T11)零件關(guān)系P(主碼是“零件號”,外碼是“供應(yīng)商號”) 供應(yīng)商關(guān)系S(主碼是“供應(yīng)商號”)10 十月 202233數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型關(guān)系模12 十月 202234數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.4查詢語言 關(guān)系操作關(guān)系操作是集合操作,操作的對象及結(jié)果都是集合,是一次一集合(Set-at-a-time)的方式 而非關(guān)系型的數(shù)據(jù)操作方式是一次一記錄(Record-at-a-time)關(guān)系操作可以用關(guān)系代數(shù)和關(guān)系演算兩種方式來表示,它們是相互等價(jià)的 如用關(guān)系代數(shù)來表示關(guān)系的操作,可以有選擇、投影、連接、除、交、差、并等10 十月 202234數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.
20、112 十月 202235數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.4查詢語言關(guān)系數(shù)據(jù)語言的特點(diǎn)一體化一般關(guān)系系統(tǒng)的數(shù)據(jù)語言都同時(shí)具有數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制語言,而不是分為幾個(gè)語言。對象單一,都是關(guān)系,因此操作符也單一。而非關(guān)系型系統(tǒng),如DBTG,有對記錄的操作,有對關(guān)系的操作非過程化用戶只需提出“做什么”,無須說明“怎么做”,存取路徑的選擇和操作過程由系統(tǒng)自動(dòng)完成面向集合的存取方式操作對象是一個(gè)或多個(gè)關(guān)系,結(jié)果是一個(gè)新的關(guān)系(一次一關(guān)系)。非關(guān)系系統(tǒng)是一次一記錄的方式10 十月 202235數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202236數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.4查詢語言抽象的查詢
21、語言關(guān)系代數(shù)用對關(guān)系的運(yùn)算來表達(dá)查詢,需要指明所用操作關(guān)系演算用謂詞來表達(dá)查詢,只需描述所需信息的特性元組關(guān)系演算謂詞變元的基本對象是元組變量域關(guān)系演算謂詞變元的基本對象是域變量10 十月 202236數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202237數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.1.4查詢語言具體系統(tǒng)中的實(shí)際語言SQL介于關(guān)系代數(shù)和關(guān)系演算之間,由IBM公司在研制System R時(shí)提出QUEL基于Codd提出的元組關(guān)系演算語言ALPHA,在INGRES上實(shí)現(xiàn)QBE基于域關(guān)系演算,由IBM公司研制10 十月 202237數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.112 十月 202238數(shù)據(jù)庫系統(tǒng)概念-關(guān)
22、系模型2.2關(guān)系代數(shù)運(yùn)算匯總基本運(yùn)算一元運(yùn)算選擇、投影、更名多元運(yùn)算笛卡兒積、并、集合差其它運(yùn)算集合交、連接、自然連接、除、賦值10 十月 202238數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202239數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2關(guān)系代數(shù)的一些記號 給定關(guān)系模式R(A1 , A2 , , An),設(shè)R是它的一個(gè)具體的關(guān)系,tR是關(guān)系的一個(gè)元組分量設(shè)tR,則tAi表示元組t中相應(yīng)于屬性Ai的一個(gè)分量屬性列A=Ai1, Ai2, ,AikA1, A2, ,An,稱A為屬性列A表示A1 ,A2 , ,An中去掉A后剩余的屬性組tA = ( tAi1, tAi2, , tAik)10 十月 20
23、2239數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202240數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.1基本運(yùn)算-選擇運(yùn)算定義在關(guān)系R中選擇滿足給定條件的元組(從行的角度)F(R)=t | t R , F(t) = 真F是選擇的條件,t R, F(t)要么為真,要么為假F的形式:由邏輯運(yùn)算符連接算術(shù)表達(dá)式而成邏輯表達(dá)式:,算術(shù)表達(dá)式:X Y X,Y是屬性名、常量、或簡單函數(shù) 是比較算符, , , , , , 10 十月 202240數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202241數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.1基本運(yùn)算-選擇運(yùn)算選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算10 十月 202241數(shù)據(jù)庫系統(tǒng)概
24、念-關(guān)系模型2.212 十月 202242數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.1基本運(yùn)算-選擇運(yùn)算ABC367257723443RA5(R) ABC367257443A5 C=7(R) ABC36725710 十月 202242數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202243數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.1基本運(yùn)算-選擇運(yùn)算示例找perridge 支行的存款branch_name= perridge(account)找年齡不小于20的男學(xué)生AGE20 SEX=male(S)10 十月 202243數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202244數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.2基本運(yùn)
25、算-投影定義從關(guān)系R中取若干列組成新的關(guān)系(從列的角度)A(R) = tA | tR , AR投影的結(jié)果中要去掉相同的行cbcfedcbaCBABCbcef R B , C(R)10 十月 202244數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202245數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.2基本運(yùn)算-投影投影操作主要是從列的角度進(jìn)行運(yùn)算10 十月 202245數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202246數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.2基本運(yùn)算-投影示例給出所有學(xué)生的姓名和年齡SN, AGE(S)10 十月 202246數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202247數(shù)據(jù)庫系統(tǒng)概
26、念-關(guān)系模型2.2.2基本運(yùn)算-投影示例找001號學(xué)生所選修的課程號C#( S#=001 (SC)10 十月 202247數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202248數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.3基本運(yùn)算-并運(yùn)算定義所有至少出現(xiàn)在兩個(gè)關(guān)系中之一的元組集合RS = r | rR rS RS兩個(gè)關(guān)系R和S若進(jìn)行并運(yùn)算,則它們必須是相容的:關(guān)系R和S必須是同元的,即它們的屬性數(shù)目必須相同對i,R的第i個(gè)屬性的域必須和S的第i個(gè)屬性的域相同不要求對應(yīng)列同名10 十月 202248數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202249數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.3基本運(yùn)算-并運(yùn)算ABC
27、367257723443RABC345723SABC367257723443345RS 10 十月 202249數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202250數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.3基本運(yùn)算-并運(yùn)算示例求選修了001號或002號課程的學(xué)生號方案1:S#(C# = 001 C# = 002(SC)方案2:S#(C# = 001 (SC)S#(C# = 002(SC)10 十月 202250數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202251數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.4基本運(yùn)算-差運(yùn)算定義所有出現(xiàn)在一個(gè)關(guān)系而不在另一關(guān)系中的元組集合RS = r | rR rS R和S必須
28、是相容的RSSR10 十月 202251數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202252數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.4基本運(yùn)算-差運(yùn)算ABC367257723443RABC345723SABC367257443RS ABC345SR 10 十月 202252數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202253數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.4基本運(yùn)算-差運(yùn)算示例求選修了001號而沒有選002號課程的學(xué)生號S#(C# = 001 (SC) S#(C# = 002(SC)求未選修c1號課程的學(xué)生號 方案1:S#(S)S#(C# = c1 (SC)方案2:S#(C# c1 (SC)哪一個(gè)
29、正確?96c2s195c1s290c1s1GC#S#s3s2s1AGESNS#10 十月 202253數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202254數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型基本運(yùn)算的分配律投影和并可以分配pid,name(ST)pid,name(S) pid,name(T)投影和差不可分配pid,name(S-T)pid,name(S) - pid,name(T)tPidTnoTnamep1t1甲p3t2丙sPidSnoSnamep1s1甲p2s2乙10 十月 202254數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型基本運(yùn)12 十月 202255數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.5基本運(yùn)算-笛卡爾積運(yùn)算元組
30、的連串(Concatenation)若r = (r1, ,rn),s = (s1 , ,sm),則定義r與s的連串為:定義兩個(gè)關(guān)系R,S,其度分別為n,m,則它們的笛卡爾積是所有這樣的元組集合:元組的前n個(gè)分量是R中的一個(gè)元組,后m個(gè)分量是S中的一個(gè)元組RS的度為R與S的度之和, RS的元組個(gè)數(shù)為R和S的元組個(gè)數(shù)的乘積rs = (r1, ,rn, s1 , ,sm)RS= rs | rR sS 10 十月 202255數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202256數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.5基本運(yùn)算-笛卡爾積運(yùn)算運(yùn)算結(jié)果的命名 r.a1 關(guān)系名前綴的省略不要求同屬性值相同,即允許
31、新元組中s.snosc.sno10 十月 202256數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202257數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.5基本運(yùn)算-笛卡爾積運(yùn)算AB12rCD10102010EaabbsAB11112222CD 1010201010102010Eaabbaabbr x s10 十月 202257數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202258數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.5基本運(yùn)算-笛卡爾積運(yùn)算A=C(r x s)r x sA=C(r x s)aab AB11112222CD1010201010102010EaabbaabbABCDE12210202010 十月 2
32、02258數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202259數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.5基本運(yùn)算-笛卡爾積運(yùn)算求計(jì)算機(jī)系學(xué)生的選課情況(sno,sname,cno,score)思考:有幾種寫法?哪種效率更高?SSCCSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1C180C1DSS2乙軟S1C290C2DBS3丙軟S2C170S4丁計(jì)S3C26010 十月 202259數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202260數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.6基本運(yùn)算-更名運(yùn)算(rename)定義給一個(gè)關(guān)系表達(dá)式賦予名字x(E)返回表達(dá)式E的結(jié)果,并把名字x賦給
33、Ex(A1, A2 , , An )(E)返回表達(dá)式E的結(jié)果,并把名字x賦給E,同時(shí)將各屬性更名為A1,A2, ,An 關(guān)系被看作一個(gè)最小的關(guān)系代數(shù)表達(dá)式,可以將更名運(yùn)算施加到關(guān)系上,得到具有不同名字的同一關(guān)系。這在同一關(guān)系多次參與同一運(yùn)算時(shí)很有幫助10 十月 202260數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202261數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.6基本運(yùn)算-更名運(yùn)算(rename)ABC367257723443RABC345723SR1(R), R2(R S) R3(x,y,z) (A5 C=7(R) )10 十月 202261數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202262
34、數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.6基本運(yùn)算-更名運(yùn)算(rename)示例求數(shù)學(xué)成績比王紅同學(xué)高的學(xué)生89數(shù)學(xué)張軍86數(shù)學(xué)王紅93物理張軍成績課程姓名S.姓名( R.成績S.成績 R.課程=數(shù)學(xué) S.課程=數(shù)學(xué) R.姓名=王紅 (RS( R)R86數(shù)學(xué)王紅86數(shù)學(xué)王紅86數(shù)學(xué)王紅R.成績R.課程R.姓名89數(shù)學(xué)張軍86數(shù)學(xué)王紅93物理張軍S.成績S.課程S.姓名10 十月 202262數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202263數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.6基本運(yùn)算-更名運(yùn)算(rename)找出所有與smith居住在同一城市同一街道的客戶(customer
35、.street=s_add.street customer.ity=s_add.city(customers_add(street,city)(street,city(name=smith(customer)10 十月 202263數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202264數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2.7關(guān)系代數(shù)的形式化定義關(guān)系代數(shù)的基本表達(dá)式:數(shù)據(jù)庫中的一個(gè)關(guān)系一個(gè)常數(shù)關(guān)系關(guān)系代數(shù)中的表達(dá)式是由更小的子表達(dá)式構(gòu)成的,假設(shè)E1和E2是關(guān)系代數(shù)表達(dá)式,則下列都是關(guān)系代數(shù)表達(dá)式:E1 E2E1 - E2E1 X E2p(E1)p(E1)x(E1)關(guān)系代數(shù)表達(dá)式僅限于上述運(yùn)算的有限次復(fù)
36、合10 十月 202264數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202265數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2關(guān)系代數(shù)查詢實(shí)例求未選修c1號課程的學(xué)生號 方案1:S#(S)S#(C# = c1 (SC)方案2:S#(C# c1 (SC)哪一個(gè)正確?96c2s195c1s290c1s1GC#S#s3s2s1AGESNS#10 十月 202265數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202266數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型求僅選修了c01號課程的學(xué)生號選修c01號課程的學(xué)生選c01號課程之外的學(xué)生S#(C# = c01 (SC)S#(SCC# = c01 (SC)2.2關(guān)系代數(shù)查詢實(shí)例S#C#SC
37、OREP03C0288P01C0392S#P01P02S#P01P03S#P0210 十月 202266數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型求僅選12 十月 202267數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.2關(guān)系代數(shù)基本運(yùn)算-練習(xí)1. 求學(xué)了c1課程的學(xué)生sno,sname2. 求沒有學(xué)c1課程的學(xué)生sno,sname3.求哪些學(xué)生沒有學(xué)哪些課(sno,cno)SSCCSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1C180C1DSS2乙軟S1C290C2DBS3丙軟S2C170S4丁計(jì)S3C26010 十月 202267數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202268數(shù)據(jù)庫系統(tǒng)概
38、念-關(guān)系模型2.2關(guān)系代數(shù)基本運(yùn)算-課外練習(xí)1.求學(xué)了c1或c2課程的學(xué)生sno,sname2.求學(xué)了c1和c2課程的學(xué)生sno,sname3.求學(xué)了c1沒有學(xué)c2課程的學(xué)生sno,sname4.求只學(xué)了c1課程的的學(xué)生sno5.求計(jì)算機(jī)系學(xué)生的“DB”成績(sno,sname,score)請考慮:有幾種寫法?你能不能給出效率最高的寫法?6.求每個(gè)學(xué)生的單科最高成績以及相應(yīng)課程號(sno, max_score,cno)SSCCSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1C180C1DSS2乙軟S1C290C2DBS3丙軟S2C170S4丁計(jì)S3C26010 十月
39、202268數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.212 十月 202269數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3附加運(yùn)算為了書寫方便,擴(kuò)展了若干操作,稱為附加運(yùn)算附加運(yùn)算沒有實(shí)質(zhì)地?cái)U(kuò)展關(guān)系代數(shù)的能力附加運(yùn)算的種類交(rs)自然連接(r s)除(rs)賦值運(yùn)算()10 十月 202269數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202270數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義所有同時(shí)出現(xiàn)在兩個(gè)關(guān)系中的元組集合RS = r | rR rS 交運(yùn)算可以通過差運(yùn)算來重寫RS = R (R S) = S (S R)2.3.1交運(yùn)算RS10 十月 202270數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義212 十月 202271數(shù)據(jù)庫系統(tǒng)概念-
40、關(guān)系模型2.3.1交運(yùn)算344327752763CBAR327543CBAS327CBARS 10 十月 202271數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202272數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.1交運(yùn)算示例求同時(shí)選修了001號和002號課程的學(xué)生號錯(cuò)誤的寫法:S#(C# = 001 C# = 002(SC)正確的寫法:S#(C# = 001 (SC)S#(C# = 002(SC)10 十月 202272數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202273數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義從兩個(gè)關(guān)系的廣義笛卡兒積中選取給定屬性間滿足一定條件的元組 A,B為R和S上度數(shù)相等且可比的屬性列 為
41、算術(shù)比較符,為等號時(shí)稱為等值連接 R S = rASB( RS)補(bǔ)充-連接A BA BR S = rs | rR sS rASB 10 十月 202273數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義補(bǔ)12 十月 202274數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型B D補(bǔ)充- 連接求數(shù)學(xué)成績比王紅同學(xué)高的學(xué)生。987654321CBADE3162ABCDE123311236245662R S R SS.姓名(課程=數(shù)學(xué) 姓名=王紅(R) ( 課程=數(shù)學(xué)S(R)R.成績S.成績10 十月 202274數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型B 12 十月 202275數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義從兩個(gè)關(guān)系的廣義笛卡兒積中選取在相同屬性列B上取
42、值相等的元組,并去掉重復(fù)的列。自然連接與等值連接的不同自然連接中相等的分量必須是相同的屬性組,并且要在結(jié)果中去掉重復(fù)的屬性,而等值連接則不必。當(dāng)R與S無相同屬性時(shí),R S RS可交換,可結(jié)合s sc sc s(s sc) c s (sc c) 2.3.2自然連接R S = rsB | rR sS rB=SB 10 十月 202275數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型定義212 十月 202276數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.2自然連接AB12412CDaababrB13123DaaabbEs11112aaaabABCDEr s10 十月 202276數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 20227
43、7數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.2自然連接示例求001號學(xué)生所在系的名稱DN(S# = 001(S) DEPT)987654321CBACD3162 R SABCD12314562 R S10 十月 202277數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202278數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算課程數(shù)學(xué)物理物理李明數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名姓名張軍10 十月 202278數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202279數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算象集(Image Set)關(guān)系R(X , Z), X, Z是屬性組,x是X上的取值,定義x在R中的象集為Zx =
44、tZ | tR tX= x 從R中選出在X上取值為x的元組,去掉X上的分量,只留Z上的分量X Z張軍同學(xué)所選修的全部課程x=張軍Zx數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名課程數(shù)學(xué)物理10 十月 202279數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202280數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算給定關(guān)系R (X,Y) 和S (Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。 RS = t X | t R Y (S)
45、 Yx Yx:x在R中的象集,x = tX10 十月 202280數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202281數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算 做法:逐個(gè)考慮選課關(guān)系SC中的元組r,求r在姓名SN上的分量x,再求x在選課關(guān)系中的象集課程Cx,若Cx包含了所有的課程C,則x是滿足條件的一個(gè)元組如何得到選修了全部課程的學(xué)生? x | x=rSN rSC CxC 選修全部課程的學(xué)生全部課程x同學(xué)所選修的全部課程10 十月 202281數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202282數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算除定義R(X , Y) S(Y) = x | x=rX
46、rR YxSR(X, Y) S(Y) = t | tX(R) uS(tu R) RS = X(R) X(X(R) Y(S) R)10 十月 202282數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202283數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算張軍物理數(shù)學(xué)課程物理王紅數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名王紅張軍姓名沒有選修全部課程的學(xué)生所有學(xué)生選修全部課程數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名物理王紅數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名姓名王紅姓名王紅姓名王紅姓名張軍選修了全部課程的學(xué)生10 十月 202283數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202284數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算A
47、BCDabcdabefabdebcefedcdedefCDcdefABabeddecbbaBAdccbfededcdefecbfebadcbaDCBAR AB (R)S AB (R) CD (S) AB (R) CD (S)-R ABCDbccdR S=decbbaBAABbc-=10 十月 202284數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202285數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算示例求同時(shí)選修了001和002號課程的學(xué)生號 方案1:S#,C#(SC) C# = 001 C# = 002 (C) 方案2:S#(SC C# = 001 C# = 002 (C) 哪一個(gè)正確?10
48、十月 202285數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202286數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算課程數(shù)學(xué)物理92物理王紅938693成績數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名課程數(shù)學(xué)物理物理王紅數(shù)學(xué)張軍數(shù)學(xué)王紅物理張軍課程姓名姓名張軍王紅姓名成績張軍93選修了全部課程并且成績都相同的學(xué)生選修了全部課程的學(xué)生10 十月 202286數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202287數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.3除運(yùn)算示例,求學(xué)了所有課的學(xué)生學(xué)號:思考1:使用,有幾種寫法?思考2:不使用,如何書寫?SSCCSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1
49、C180C1DSS2乙軟S1C290C2DBS3丙軟S2C170S4丁計(jì)S3C26010 十月 202287數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202288數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.4賦值運(yùn)算定義為使查詢表達(dá)簡單、清晰,可以將一個(gè)復(fù)雜的關(guān)系代數(shù)表達(dá)式分成幾個(gè)部分,每一部分都賦予一個(gè)臨時(shí)關(guān)系變量,該變量可被看作關(guān)系而在后面的表達(dá)式中使用臨時(shí)關(guān)系變量關(guān)系代數(shù)表達(dá)式賦值給臨時(shí)關(guān)系變量只是一種結(jié)果的傳遞,而賦值給永久關(guān)系則意味著對數(shù)據(jù)庫的修改10 十月 202288數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202289數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3.4賦值運(yùn)算示例RS = X(R) X(X
50、(R) Y(S) R)用賦值重寫為:temp1 X(R) temp2 X(temp1 Y(S) R)result temp1 temp210 十月 202289數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202290數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.3附加運(yùn)算:練習(xí) 1、求計(jì)算機(jī)系學(xué)生的“DB”成績(sno,sname,score)2、使用,求學(xué)了s5 所學(xué)全部課程的學(xué)生3、不使用,求學(xué)了s5 所學(xué)全部課程的學(xué)生SSCCSnoSnameDeptSnoCnoScoreCnoCnameS1甲計(jì)S1C180C1DSS2乙軟S1C290C2DBS3丙軟S2C170S4丁計(jì)S3C26010 十月 202290數(shù)
51、據(jù)庫系統(tǒng)概念-關(guān)系模型2.312 十月 202291數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.5空值,Null空值的語義不知道 或 不存在空值的表現(xiàn)參與算術(shù)運(yùn)算:結(jié)果為Null參與比較運(yùn)算:結(jié)果為Null參與邏輯運(yùn)算:1、Null or true=ture 2、Null and false=false3、其它情況結(jié)果為null空值是一種狀態(tài),不是一個(gè)明確的值SSnoSnameDeptSageS1甲計(jì)20S2乙軟21S3丙軟S4丁2010 十月 202291數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.512 十月 202292數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.5關(guān)系代數(shù)對空值的處理不是總有道理,更多的時(shí)候是定義(E)保留使確定地為
52、真的元組求20歲的學(xué)生求不是20歲的學(xué)生A1,A2(E)元組表現(xiàn)相同(認(rèn)為表示的語義相同),則保留一個(gè)元組求各系年齡分布(dept,sage):與的處理原則一致SSnoSnameDeptSageS1甲計(jì)20S2乙軟21S3丙軟S4丁軟10 十月 202292數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.512 十月 202293數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4擴(kuò)展的關(guān)系代數(shù)關(guān)系代數(shù)擴(kuò)展的幾個(gè)運(yùn)算:廣義投影聚集、分組聚集外連接擴(kuò)展的關(guān)系代數(shù)運(yùn)算:對關(guān)系代數(shù)的查詢能力進(jìn)行了一些經(jīng)常需要的擴(kuò)展一般地講,擴(kuò)展的運(yùn)算屬于關(guān)系代數(shù)嚴(yán)格地說,擴(kuò)展的運(yùn)算不屬于關(guān)系代數(shù)運(yùn)算10 十月 202293數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.412
53、 十月 202294數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.1廣義投影定義在投影列表中使用算術(shù)表達(dá)式來對投影進(jìn)行擴(kuò)展F1 , F2 , , Fn (E) F1 , F2 , , Fn 是算術(shù)表達(dá)式 as更名示例 求教工應(yīng)繳納的所得稅P# , SAL*5/100 (PROF)R(p#, INCOME-TAX )(P# , SAL*5/100 (PROF)10 十月 202294數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.412 十月 202295數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.2聚集函數(shù)定義求一組值的統(tǒng)計(jì)信息,返回單一值使用聚集的集合可以是多重集,即一個(gè)值可以重復(fù)出現(xiàn)多次。如果想去除重復(fù)值,可以用連接符-將distin
54、ct附加在聚集函數(shù)名后,如sum-distinctsum:求和 求全體教工的總工資sumSAL(PROF) 求001號學(xué)生的總成績sumSCORE(S# = 001 (SC)10 十月 202295數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.412 十月 202296數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.2聚集函數(shù)avg:求平均 求001號同學(xué)選修課程的平均成績。avgSCORE(S# = 001(SC)count:計(jì)數(shù) 求001號同學(xué)選修的課程數(shù)。countC#(S# = 001(SC) 求任課老師的總數(shù)。count-distinctP#(PC)10 十月 202296數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.412 十月 2
55、02297數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型max:求最大值 min:求最小值 求學(xué)生選修數(shù)學(xué)的最高成績maxSCORE(CN = 數(shù)學(xué)(C) SC)分組將一個(gè)元組集合分為若干個(gè)組,在每個(gè)分組上使用聚集函數(shù)。屬性下標(biāo) G 聚集函數(shù)屬性下標(biāo)(關(guān)系)2.4.2聚集函數(shù)對此屬性在每個(gè)分組上運(yùn)用聚集函數(shù)按此屬性上的值對關(guān)系分組10 十月 202297數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型max12 十月 202298數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.2聚集函數(shù)分組運(yùn)算G 的一般形式G1 , G2 , . , Gn G F1 , A1 , F2 , A2 , , Fm , Am(E) Gi是用于分組的屬性, Fi是聚集函數(shù), A
56、i是屬性名。 G 將E分為若干組,滿足: 1)同一組中所有元組在G1 , G2 , . , Gn上的值相同。 2)不同組中元組在G1 , G2 , . , Gn上的值不同。示例求每位學(xué)生的總成績和平均成績S# GsumSCORE ,avgSCORE(SC)10 十月 202298數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.412 十月 202299數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型RABC77310g sum(c) (R)sum-C272.4.2聚集函數(shù)10 十月 202299數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型RAB12 十月 2022100數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.2聚集函數(shù)branch-nameaccount-numb
57、erbalancePerryridgePerryridgeBrightonBrightonRedwoodA-102A-201A-217A-215A-222400900750750700branch-namebalancePerryridgeBrightonRedwooccountbranch-name g sum(balance) (account)10 十月 2022100數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.12 十月 2022101數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.4.2聚集函數(shù):G練習(xí)1、求學(xué)習(xí)了5門以上課程的學(xué)生學(xué)號及課程門數(shù);2、求有5門以上優(yōu)秀課程(90)的學(xué)生學(xué)號; 3、求每個(gè)學(xué)生的單科最高成績及相應(yīng)科目名稱;4、求最高的學(xué)生平均成績;5、求高于平均成績的修課記錄;6、求高于本門課平均成績的修課記錄;SCSnoCnoScoreS1C180S1C290S1C385S2C170S2C380S3C26010 十月 2022101數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.12 十月 2022102數(shù)據(jù)庫系統(tǒng)概念-關(guān)系模型2.5 Null:聚集對空值的處理不是總有道理,更多的時(shí)候是定義聚集函數(shù)中的null1、多重集中忽略null2、聚集函數(shù)作用于空集合:count()=0;其它聚集函數(shù)作用于空集合,結(jié)果為null示例,snoG (sc):SCSnoCnoS
溫馨提示
- 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年寵物營養(yǎng)師考試前準(zhǔn)備
- 2024年寵物營養(yǎng)師專業(yè)知識考點(diǎn)試題及答案
- 四川省成都市2023-2024學(xué)年高二上學(xué)期期末調(diào)研考試物理試題
- 關(guān)注新變化2024年統(tǒng)計(jì)學(xué)考試試題及答案
- 2025年區(qū)熔硅單晶項(xiàng)目發(fā)展計(jì)劃
- 迎接挑戰(zhàn)2024計(jì)算機(jī)基礎(chǔ)考試試題及答案
- 2024-2025企業(yè)安全培訓(xùn)考試試題含答案(B卷)
- 2025年新入職員工安全培訓(xùn)考試試題帶答案解析
- 2024-2025崗前安全培訓(xùn)考試試題a4版
- 2024-2025公司、項(xiàng)目部、各個(gè)班組安全培訓(xùn)考試試題帶答案(基礎(chǔ)題)
- 數(shù)據(jù)中心儲(chǔ)能應(yīng)用需求技術(shù)報(bào)告2024
- 2024年中考語文復(fù)習(xí)分類必刷:非連續(xù)性文本閱讀(含答案解析)
- DL∕ T 949-2005 水工建筑物塑性嵌縫密封材料技術(shù)標(biāo)準(zhǔn)
- 河南科學(xué)技術(shù)出版社小學(xué)信息技術(shù)六年級上冊教案
- 2024年紅十字應(yīng)急救護(hù)知識競賽考試題庫500題(含答案)
- TD/T 1061-2021 自然資源價(jià)格評估通則(正式版)
- 2024年四川省成都市高新區(qū)中考數(shù)學(xué)二診試卷
- 2024年社區(qū)工作者考試必考1000題附完整答案【典優(yōu)】
- WMT8-2022二手乘用車出口質(zhì)量要求
- 30題質(zhì)量檢驗(yàn)員崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 智能燈具故障排除方案
評論
0/150
提交評論