數(shù)據(jù)庫系統(tǒng)講義03解讀_第1頁
數(shù)據(jù)庫系統(tǒng)講義03解讀_第2頁
數(shù)據(jù)庫系統(tǒng)講義03解讀_第3頁
數(shù)據(jù)庫系統(tǒng)講義03解讀_第4頁
數(shù)據(jù)庫系統(tǒng)講義03解讀_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)概念與技術(shù) 第三章關(guān)系模型及關(guān)系運算真即是美,知識是最高的善無限風(fēng)光在險峰1France數(shù)據(jù)庫系統(tǒng)概述3Hungary你我它Belgium實體-聯(lián)系模型Germany2SQL Ireland4SQL編程Italy5數(shù)據(jù)完整性Latvia6關(guān)系數(shù)據(jù)庫設(shè)計Lithuania7查詢處理及優(yōu)化Luxemburg8數(shù)據(jù)庫管理系統(tǒng)DBMS Netherlands93.1關(guān)系3.2關(guān)系模型3.3關(guān)系代數(shù)3.4元組關(guān)系演算3.5域關(guān)系演算數(shù)據(jù)庫數(shù)據(jù)的集合p r o c e s s p r o c e s s p r o c e s s p r o c e s s p r o c e s s requ

2、estresponse訪問語言語言處理數(shù)據(jù)結(jié)構(gòu)交互式語言嵌入式語言完整性控制DBMS其它查詢優(yōu)化處理數(shù)據(jù)的概念模型數(shù)據(jù)庫系統(tǒng)設(shè)計現(xiàn)實世界邏輯結(jié)構(gòu)數(shù)據(jù)操作物理結(jié)構(gòu)第三章關(guān)系模型及關(guān)系運算3.1關(guān)系3.2關(guān)系模型3.3關(guān)系代數(shù)3.4元組關(guān)系演算3.5域關(guān)系演算關(guān)系模型(relation modelz關(guān)系理論是建立在集合代數(shù)理論基礎(chǔ)上的,有著堅實的數(shù)學(xué)基礎(chǔ)。z E.F.Codd于70年代初提出關(guān)系數(shù)據(jù)理論,他因此獲得1981年的ACM圖靈獎。z早期代表系統(tǒng)初System R:由IBM研制。初INGRES:由加州Berkeley分校研制。z目前主流的商業(yè)數(shù)據(jù)庫系統(tǒng)初Oracle,Informix,Sy

3、base,SQL Server,DB2。初Access,Foxpro,Foxbase。域 (Domainz 一組值的集合,這組值具有相同的數(shù)據(jù)類型.Null是任何域的成員.笛卡爾積(Cartesian Productz 一組域D1 , D2,,D n的笛卡爾積為:D1xD2x.xD n= (d1 , d2 , ., d n | d iD i, i=1,.,n z 笛卡爾積的每個元素 (d1 , d2 , ., d n稱作一個 n-元組(n-tuple。z元組的每一個值d i叫做一個分量(component*若D i為有限集,其基數(shù)為m i, 則笛卡爾積的基數(shù)為i ni mn=1例:設(shè)D 1為教

4、師集合(T = t 1,t 2D 2為學(xué)生集合(S = s 1,s 2 ,s 3D 3為課程集合(C = c 1,c 2則笛卡爾積D 1xD 2xD 3是個三元組集合,元組個數(shù)為2x3x2,是所有可能的(教 師,學(xué)生,課程元組集合:t 1,s 1,c 1, t 1,s 1,c 2, t 1,s 2,c 1, t 1,s 2,c 2, t 1,s 3,c 1, t 1,s 3,c 2, t 2,s 1,c 1, t 2,s 1,c 2, t 2,s 2,c 1, t 2,s 2,c 2, t 2,s 3,c 1, t 2,s 3,c 2 t 1t 1,s 1,c 1t 1,s 1,c 2關(guān)系(r

5、elationz笛卡爾積D 1xD 2x.xD n的子集叫做在域D 1, D 2,., D n上的關(guān)系,用R (D1, D 2,., D n 表示。z R是關(guān)系的名字,n是關(guān)系的度或目(Degree。初n=1,一元關(guān)系初n=2,二元關(guān)系z關(guān)系是笛卡爾積中有意義的子集。A=所有的男人x所有的女人x所有的小孩初有家庭關(guān)系的男人,女人,小孩CAA=所有的學(xué)生x所有的課程初有選修關(guān)系的學(xué)生,課程 CAz關(guān)系和表的一一對應(yīng)初一個關(guān)系對應(yīng)一張表,表用表名標識.表和關(guān)系同名.初一個元組對應(yīng)一行數(shù)據(jù),行用行號標識.由于行數(shù)會發(fā)生變化(增加,刪除,修改, 因此,行一般不命名.表的所有行的集合是笛卡爾積的子集必某

6、個分量的所有取值對 應(yīng)表的某一列的所有取值.列用列號標識.由于列數(shù)一般不發(fā)生變化,因此,列要命名,稱為列名或?qū)傩悦淼哪骋涣械乃腥≈档募鲜悄硞€域的子集(域名不一定是列名,因為域和列 不等價.關(guān)系表元組行分量列t1,s3,c1元組行t1,s2,c2t1,s2,c1t1,s1,c2t1,s1,c1分量列關(guān)系表z用表表示關(guān)系.例:設(shè)D 1為教師集合(T = t 1,t 2D 2為學(xué)生集合(S = s 1,s 2,s 3D 3為課程集合(C = c 1,c 2則 D 1xD 2xD 3 上的一個關(guān)系:R(D 1,D 2,D 3=t 1,s 1 ,c 1, t 1,s 1 ,c 2, t 1,s 2

7、 ,c 1, t 1,s 2 ,c 2, t 2,s 3 ,c 2對應(yīng)的表如下元組/彳亍號分量/列號屬性名teach表/關(guān)系名關(guān)系的性質(zhì)z列是同質(zhì)的.即每一列中的分量來自同一域,是同一類型的數(shù)據(jù).d iD ixxxxSsexE 男,女z表的不同列可以來自同一個域,為了區(qū)別不同的列,每列必須有不同的屬性名.例:設(shè)D 1=Person = 王兵,李平,張英,丁梅,吳芳D 2=Child = 王一,李一,李二則 D 1xD 1xD 2 上的一個家庭關(guān)系:R(D 1,D 2,D 3=Family=王兵,張英,王一, 李平,丁梅,李一, 李平,丁梅,李二對應(yīng)的表如下李一丁梅李平李二丁梅李平王一張英王兵C

8、hild Mother (角色 Father (角色Familyz行列的順序無關(guān)緊要.同一個關(guān)系z任意兩個元組不能完全相同(集合內(nèi)不能有相同的兩個元素.Xz每一分量必須是不可再分的數(shù)據(jù)項(1NF,復(fù)合屬性不允許,多值屬性值分為多 個行.符合第一范式(Table不符合第一范式(Not Table關(guān)系的碼z 候選碼(Candidate Key初關(guān)系中的一個屬性組,其值能唯一標識一個元組.若從屬性組中去掉任何一個 屬性,它就不具有這一性質(zhì)了,這樣的屬性組稱作候選碼.-E-R模型中候選碼.初任何一個候選碼中的屬性稱作主屬性,其它的為非主屬性.z主碼(Primary Key初進行數(shù)據(jù)庫設(shè)計時,從一個關(guān)系

9、的多個候選碼中選定一個作為主碼.-E-R模 型中主碼.全碼 PK(Student=S#PK(Family=Father,Mother,Childz 外碼(Foreign Key初關(guān)系r中的一個屬性組,它不是r的碼,但它與另一個關(guān)系s的主碼相對應(yīng),則 稱這個屬性組為r的參照s的外碼,r稱為參照關(guān)系,s稱為被參照關(guān)系.主碼主碼外碼 FK(Student=D#3.1關(guān)系第三章關(guān)系模型及關(guān)系運算3.1關(guān)系3.2關(guān)系模型3.3關(guān)系代數(shù)3.4元組關(guān)系演算3.5域關(guān)系演算域笛卡爾積關(guān)系關(guān)系的性質(zhì)關(guān)系的候選碼和主屬性關(guān)系的主碼和外碼數(shù)據(jù)結(jié)構(gòu).z單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系z關(guān)系模式:關(guān)系的結(jié)構(gòu)描述初關(guān)系名.初關(guān)系中的屬

10、性名.初屬性向域的映象.屬性向域的映象,一般直接說明為屬性的類型、長度等.初屬 性間的依賴關(guān)系.3.2關(guān)系模型R (A1:D1 , A2:D2 ,An :Dn關(guān)系模式關(guān)系模式的簡單表示R (A1 , A2 ,, AnStudent ( S# char(8, Sname char(10, Ssex char(2, Sage integer ,D# char(2, Sclass char(6Student (S#,Sname,Ssex,Sage,D#,classz關(guān)系實例:即關(guān)系,是符合某個關(guān)系模式在某個時刻的元組的集合.關(guān)系模式和 關(guān)系實例是型與值的關(guān)系.z關(guān)系模式與關(guān)系(實例初同一關(guān)系模式下,

11、可有很多的關(guān)系.初關(guān)系模式是關(guān)系的結(jié)構(gòu)描述,關(guān)系是關(guān)系模式在某一時刻的數(shù)據(jù).初關(guān)系模式是穩(wěn)定的;而關(guān)系是某一時刻的值,是隨時間可能變化的.Student (S# char(8, Sname char(10, Ssex char(2, Sage integer , D# char(2, Sclass char(6z (關(guān)系數(shù)據(jù)庫模式.關(guān)系數(shù)據(jù)庫的描述.即一組域的定義以及在這組域上定義的 若干關(guān)系模式的集合.Z (關(guān)系數(shù)據(jù)庫實例.符合某個數(shù)據(jù)庫模式在某個時刻關(guān)系的集 合.數(shù)據(jù)庫模式和數(shù)據(jù)庫實例是型與值的關(guān)系.Z關(guān)系數(shù)據(jù)庫形式化描述.初域.D=( D k , k=1,2,.初關(guān)系模式.R(A 1,

12、A 2, .A j ,A n , j =1,2,.,n. % 主碼.PK(R .初外碼.FK(R .初元組.t(i =(r i 1, r i 2 , .r ij ., r i n , r ij ED i ED, i =1,2,.,m. t 為元組變量.z關(guān)系數(shù)據(jù)庫模式的模式圖.表示屬性以及主碼和外碼.主碼主碼外碼FK(Student=D#S#SnameSname Ssex Sage D#SclassD#DeptstudentDname Dean父子z E-R模型向關(guān)系模式的轉(zhuǎn)換初實體集的關(guān)系模式:A(A1,A2,A3,.; B(B1,B2,B3,.%聯(lián)系集的關(guān)系模式: Q(PK(A,PK(B,

13、Q1,Q2,.% 遞歸聯(lián)系集的關(guān)系模式:Q(role1,role2,Q1,Q2,.A3A2A1實體集A聯(lián)系集Q A1Q1Q2B1E-R模型關(guān)系模型關(guān)系模式A (A1, A2, A3Q (A1,B1, Q1, Q2B3B2B1B (B1, B2, B3A1A2A3Q1Q2實體集 B B1B2B3PK(APK(BE-R模型學(xué)生課程選修教師教授S#SN SEXAGESD SCOREC#CNPC#CREDITP#PND#SAL S (S#, SN , SEX , AGE , SDC (C#, CN , PC# , CREDITPROF (P#, PN, D# ,SALSC (S#, C#, SCORE

14、TEACH (P#, C#PK(SPK(CPK(PROFPK(C關(guān)系模式E-R模型學(xué)生課程選修教師教授S#SN SEXAGESD SCOREC#CNPC#CREDITP#PND#SAL S#SN SEX AGE SDS C#CN PC#CREDITC P#PN D#SALPROF S#C#SCORESC P#C#TEACH關(guān)系模式圖E-R模型EMPNO#NAMESEX AGEDEPT關(guān)系模式Work-foremployeeworkermanageremployee(EMPNO#, NAME, SEX , AGE , DEPT Work-for(worker,manager role1role2

15、初弱實體集的關(guān)系模式:B(PK(A,B1,B2,B3,標識性聯(lián)系集的關(guān)系模式: Q(PK(A,D(B,標識性聯(lián)系集無需單獨建表,因為其關(guān)系模式被弱實體集的關(guān)系模式所包含.A3A2A1 強實體集A標識性聯(lián)系集QA1B1E-R模型關(guān)系模型關(guān)系模式A (A1, A2, A3Q (A1,B1A1B3B2B1B (A1,B1, B2, B3A1A2A3B1B2B3PK(AD(BD(BPK(AD(B弱實體集B初特殊屬性O(shè)復(fù)合屬性:每個子屬性單獨創(chuàng)建一列.”關(guān)系的基本特征是每一分量必須是不可再分的數(shù)據(jù)項”.O派生屬性:作為表的計算列,it dependsO多值屬性:關(guān)系理論addr city str pos

16、t-code state str-nostr-nameapart-nocustomer cust-id cust-name customer (cust-id, cust-name, addr (state, city, post- code,str (str-no, str-name, apart-nocustomercustomer (cust-id, cust-name, state,city, post-code,str-no, str-name, apart-no初碼.E-R模型中的碼(超碼,候選碼,主碼自動轉(zhuǎn)換為關(guān)系的碼(超碼,候選碼,主碼.O實體集的碼O聯(lián)系集的碼91:191:m

17、9m:nO遞歸聯(lián)系集的碼O弱實體集的碼O標識性聯(lián)系集的碼z模型、模式和實例的比較E-R模型關(guān)系模型E-R模式關(guān)系模式表R (A1, A2,,ApE-R實例關(guān)系實例實體集聯(lián)系集屬性屬性屬性 A (A1, A2,,AnQ (Q1, Q2,,的碼關(guān)系的碼PK(RPK(APK(Q課堂練習(xí)將銀行企業(yè)的E-R模型轉(zhuǎn)換為關(guān)系模式(模式圖branchcustomer loanloan-numberaccountaccount-numberemployeecust-banker typedepositorpayment-numberborrower Work-forworkermanagerloan-branc

18、h loan-paymentpaymentbranch-name assets branch-citycustomer-id , customer-citycustomer-street customer-name employee-id start-dateemployee-name employee-lengthtelephone-numberdependent-namebalanceamountpayment-amountpayment-dateaccess-date關(guān)系操作.關(guān)系操作是集合操作,操作的對象及結(jié)果都是集合,是一次一集合(Set-at-a-time的方式.查詢和修改.z過程

19、化.用戶指導(dǎo)系統(tǒng)對數(shù)據(jù)庫執(zhí)行一系列操作以計 算所需結(jié)果.初關(guān)系代數(shù).用對關(guān)系的運算來表達查詢,需要指明所 用操作.基本運算包括:選擇、投影、連接、除、并、 交、差.z非過程化.用戶只需描述所需信息,而不用給出獲取該 信息的具體過程.關(guān)系演算,用謂詞來表達查詢.初元組關(guān)系演算:謂詞變元的基本對象是元組變量. 初域關(guān)系演算:謂詞變元的基本對象是域變量.z具體數(shù)據(jù)庫系統(tǒng)中的實際語言初ISBL:關(guān)系代數(shù)語言,由IBM公司研制。初QUEL,ALPHA:Codd提出的基于元組關(guān)系演算語言,在INGRES上實現(xiàn)。初QBE:基于域關(guān)系演算語言,由IBM公司研制。初SQL:介于關(guān)系代數(shù)和關(guān)系演算之間,由IBM公

20、司在研制System R時提出的, 成為關(guān)系數(shù)據(jù)庫標準語言。關(guān)系模型的完整性z實體完整性(主碼初實體是可區(qū)分的,即具有唯一性標識。初每個關(guān)系必須有一個主碼。初主碼不能取Null值。主碼xXENOEName DNOEMPDEPT DNODName03小陳0003小劉000302小李000201小王0001DNO EName ENO網(wǎng)絡(luò)教研室02軟件教研室01DName DNO z參照完整性(外碼。關(guān)系r的參照關(guān)系s的外碼 FK(r的取值有兩種:初Null值。初關(guān)系s的某個主碼的取值。EMPDEPTz用戶自定義完整性。用戶針對具體的應(yīng)用環(huán)境定義的完整性約束條件。初年齡的約束條件,如,0-100初性

21、別的約束條件,0,1年齡在12, 35之間要求名字在5個漢字字符之內(nèi)性別只能是“男”或“女”顛覆完整性的示例第三章關(guān)系模型及關(guān)系運算3.1關(guān)系3.2關(guān)系模型3.3關(guān)系代數(shù)3.4元組關(guān)系演算3.5域關(guān)系演算關(guān)系模式,關(guān)系數(shù)據(jù)庫模式關(guān)系實例,關(guān)系數(shù)據(jù)庫實例關(guān)系數(shù)據(jù)庫的模式圖E-R模型向關(guān)系模式的轉(zhuǎn)換關(guān)系操作口過程化:關(guān)系代數(shù)口非過程化:元組和域關(guān)系演算關(guān)系模型的完整性口實體完整性口參照完整性口用戶自定義完整性查詢z基本運算初一元運算O選擇、投影、更名。初多元運算O笛卡兒積、集合并、集合差。z附加運算,可由基本運算導(dǎo)出的運算初集合交、自然連接、除、賦值。z擴展的關(guān)系代數(shù)運算初廣義投影、聚集、外連接。

22、數(shù)據(jù)庫修改z刪除、插入、更新。A 1A i一些記號。給定關(guān)系模式R(A 1, A 2 ,A n ,設(shè)R是它的一個具體的關(guān)系,t ER是關(guān)系的一個元組.z分量設(shè)t ER,則tA i 表示元組t中相應(yīng)于屬性A i的一個分量.z屬性列A = (A i1,A i2 ,A ik (A 1,A 2 , .,A n ,稱 A 為屬性列.A 表示A 1,A2 , .,A n 中去掉A后剩余的屬性組.tA = ( tA i1, tA i2, ., tA ik .Rt ERA AtA = ( tA i1, tA i2, ., tA ik tA i 示例關(guān)系S (S#, SNAME , SEX , AGE , D#

23、-學(xué)生 C (C#, CN , PC# , CREDIT(學(xué)分-課程 SC (S# , C#, SCORE-選修關(guān)系PROF (P#, PNAME, AGE, D# , SAL(工資-教師 PC (P# , C#-教課DEPT (D#, DNAME , DEAN(系主任作為教師的編號P# -系學(xué)生S課程C教師PROF選課SC教課PCS#SEXSCORE SNAME AGE D# 院系 DEPTD#DEAN DNAME C#PC#CN CREDITP#AGEPNAME D#SALE-R模型關(guān)系模式S#SNAME SEX AGE D#SC#CN PC#CREDITC P#PNAME AGE D#S

24、ALPROF S#C#SCORESC P#C#PC D#DNAME DEANDEPT PCPROFDEPTSCSC模式圖關(guān)系202119192022 學(xué)生年齡 AGE CS CS MA CI MA CS所屬系名SD男女女男女男性別 SEX A B C D E FS1S2S3S4S5S6學(xué)生姓名SN學(xué)號S#C1C1C2C4先行課號碼PC#23424學(xué)分CREDITG H I J KC1C2C3C4C5課程名字 CN 課程號 C#S(S# , SN , SEX , AGE , SDC(C# , CN , PC# , CREDITSC(S# , C# , SCOREA A AB BC C B C B

25、 BD C B BC1C2C3C5C1C2C4C2C3C4C3C5C2C3C5S1S1S1S1S2S2S2S3S3S3S4S4S5S5S5學(xué)習(xí)成績SCORE課程號C#學(xué)號S#D1D1D2D3D3D4系別 D#150022001300250018002100工資 SAL 302925412633年齡 AGE A B C D E FP1P2P3P4P5P6姓名 PNAME 工號 P#PROF(P# , PNAME , AGE , D# , SALC1C2C1C1C2C3P1P1P2P3P4P4課程名。#工號P#PC(P# , C#計算機系數(shù)學(xué)系管理系系名 DNAME P1P2P4D1D2D3系主任

26、 DEAN 系號 D#DEPT(D# , DNAME , DEAN選擇運算(o-selectz定義:在關(guān)系R中選擇滿足給定條件的元組(從行的角度.z公式:。(R=t I t ER , F(t = 真,F(tF(t是選擇的條件,t ER, F(t要么為真,要么為假.F(t=(算術(shù)表達式1邏輯運算符(算術(shù)表達式2.初邏輯運算符:人V,-初算術(shù)表達式:X 0YO X,Y是屬性名、常量、或簡單函數(shù).O0是比較算符,0( ,二 , 30 VAGE 20 ASEX=男(So例3,找年齡不小于20的男學(xué)生.所屬系名SD男女女男女男性別 SEX A B C D E FS1S2S3S4S5S6學(xué)生姓名SN學(xué)號S#CS CS MA CI MA CS 所屬系名SD ABCDEF學(xué)生姓名SN投影(n-projectz定義:從關(guān)系R中取若干列組成新的關(guān)系(從列的角度.投影的結(jié)果中要去掉相 同的行.z 公式:nA (R = tA | t ER , A (A 1, A 2, .,A n S例4,給出nSN,SD(S的結(jié)果.A A AB BC C B C B BD C B BC1C2C3C5C1C2C4C2C3C4C3C5C2C3C5S1S1S1S1S2S2S2S3S3S3

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論