數據庫系統講義03解讀_第1頁
數據庫系統講義03解讀_第2頁
數據庫系統講義03解讀_第3頁
數據庫系統講義03解讀_第4頁
數據庫系統講義03解讀_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數據庫系統概念與技術 第三章關系模型及關系運算真即是美,知識是最高的善無限風光在險峰1France數據庫系統概述3Hungary你我它Belgium實體-聯系模型Germany2SQL Ireland4SQL編程Italy5數據完整性Latvia6關系數據庫設計Lithuania7查詢處理及優化Luxemburg8數據庫管理系統DBMS Netherlands93.1關系3.2關系模型3.3關系代數3.4元組關系演算3.5域關系演算數據庫數據的集合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訪問語言語言處理數據結構交互式語言嵌入式語言完整性控制DBMS其它查詢優化處理數據的概念模型數據庫系統設計現實世界邏輯結構數據操作物理結構第三章關系模型及關系運算3.1關系3.2關系模型3.3關系代數3.4元組關系演算3.5域關系演算關系模型(relation modelz關系理論是建立在集合代數理論基礎上的,有著堅實的數學基礎。z E.F.Codd于70年代初提出關系數據理論,他因此獲得1981年的ACM圖靈獎。z早期代表系統初System R:由IBM研制。初INGRES:由加州Berkeley分校研制。z目前主流的商業數據庫系統初Oracle,Informix,Sy

3、base,SQL Server,DB2。初Access,Foxpro,Foxbase。域 (Domainz 一組值的集合,這組值具有相同的數據類型.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為有限集,其基數為m i, 則笛卡爾積的基數為i ni mn=1例:設D 1為教

4、師集合(T = t 1,t 2D 2為學生集合(S = s 1,s 2 ,s 3D 3為課程集合(C = c 1,c 2則笛卡爾積D 1xD 2xD 3是個三元組集合,元組個數為2x3x2,是所有可能的(教 師,學生,課程元組集合: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關系(r

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

6、個分量的所有取值對 應表的某一列的所有取值.列用列號標識.由于列數一般不發生變化,因此,列要命名,稱為列名或屬性名表的某一列的所有取值的集合是某個域的子集(域名不一定是列名,因為域和列 不等價.關系表元組行分量列t1,s3,c1元組行t1,s2,c2t1,s2,c1t1,s1,c2t1,s1,c1分量列關系表z用表表示關系.例:設D 1為教師集合(T = t 1,t 2D 2為學生集合(S = s 1,s 2,s 3D 3為課程集合(C = c 1,c 2則 D 1xD 2xD 3 上的一個關系: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對應的表如下元組/彳亍號分量/列號屬性名teach表/關系名關系的性質z列是同質的.即每一列中的分量來自同一域,是同一類型的數據.d iD ixxxxSsexE 男,女z表的不同列可以來自同一個域,為了區別不同的列,每列必須有不同的屬性名.例:設D 1=Person = 王兵,李平,張英,丁梅,吳芳D 2=Child = 王一,李一,李二則 D 1xD 1xD 2 上的一個家庭關系:R(D 1,D 2,D 3=Family=王兵,張英,王一, 李平,丁梅,李一, 李平,丁梅,李二對應的表如下李一丁梅李平李二丁梅李平王一張英王兵C

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

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

10、性名.初屬性向域的映象.屬性向域的映象,一般直接說明為屬性的類型、長度等.初屬 性間的依賴關系.3.2關系模型R (A1:D1 , A2:D2 ,An :Dn關系模式關系模式的簡單表示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關系實例:即關系,是符合某個關系模式在某個時刻的元組的集合.關系模式和 關系實例是型與值的關系.z關系模式與關系(實例初同一關系模式下,

11、可有很多的關系.初關系模式是關系的結構描述,關系是關系模式在某一時刻的數據.初關系模式是穩定的;而關系是某一時刻的值,是隨時間可能變化的.Student (S# char(8, Sname char(10, Ssex char(2, Sage integer , D# char(2, Sclass char(6z (關系數據庫模式.關系數據庫的描述.即一組域的定義以及在這組域上定義的 若干關系模式的集合.Z (關系數據庫實例.符合某個數據庫模式在某個時刻關系的集 合.數據庫模式和數據庫實例是型與值的關系.Z關系數據庫形式化描述.初域.D=( D k , k=1,2,.初關系模式.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關系數據庫模式的模式圖.表示屬性以及主碼和外碼.主碼主碼外碼FK(Student=D#S#SnameSname Ssex Sage D#SclassD#DeptstudentDname Dean父子z E-R模型向關系模式的轉換初實體集的關系模式:A(A1,A2,A3,.; B(B1,B2,B3,.%聯系集的關系模式: Q(PK(A,PK(B,

13、Q1,Q2,.% 遞歸聯系集的關系模式:Q(role1,role2,Q1,Q2,.A3A2A1實體集A聯系集Q A1Q1Q2B1E-R模型關系模型關系模式A (A1, A2, A3Q (A1,B1, Q1, Q2B3B2B1B (B1, B2, B3A1A2A3Q1Q2實體集 B B1B2B3PK(APK(BE-R模型學生課程選修教師教授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關系模式E-R模型學生課程選修教師教授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關系模式圖E-R模型EMPNO#NAMESEX AGEDEPT關系模式Work-foremployeeworkermanageremployee(EMPNO#, NAME, SEX , AGE , DEPT Work-for(worker,manager role1role2

15、初弱實體集的關系模式:B(PK(A,B1,B2,B3,標識性聯系集的關系模式: Q(PK(A,D(B,標識性聯系集無需單獨建表,因為其關系模式被弱實體集的關系模式所包含.A3A2A1 強實體集A標識性聯系集QA1B1E-R模型關系模型關系模式A (A1, A2, A3Q (A1,B1A1B3B2B1B (A1,B1, B2, B3A1A2A3B1B2B3PK(AD(BD(BPK(AD(B弱實體集B初特殊屬性O復合屬性:每個子屬性單獨創建一列.”關系的基本特征是每一分量必須是不可再分的數據項”.O派生屬性:作為表的計算列,it dependsO多值屬性:關系理論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模型中的碼(超碼,候選碼,主碼自動轉換為關系的碼(超碼,候選碼,主碼.O實體集的碼O聯系集的碼91:191:m

17、9m:nO遞歸聯系集的碼O弱實體集的碼O標識性聯系集的碼z模型、模式和實例的比較E-R模型關系模型E-R模式關系模式表R (A1, A2,,ApE-R實例關系實例實體集聯系集屬性屬性屬性 A (A1, A2,,AnQ (Q1, Q2,,的碼關系的碼PK(RPK(APK(Q課堂練習將銀行企業的E-R模型轉換為關系模式(模式圖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關系操作.關系操作是集合操作,操作的對象及結果都是集合,是一次一集合(Set-at-a-time的方式.查詢和修改.z過程

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

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

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

22、數據庫修改z刪除、插入、更新。A 1A i一些記號。給定關系模式R(A 1, A 2 ,A n ,設R是它的一個具體的關系,t ER是關系的一個元組.z分量設t ER,則tA i 表示元組t中相應于屬性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 示例關系S (S#, SNAME , SEX , AGE , D#

23、-學生 C (C#, CN , PC# , CREDIT(學分-課程 SC (S# , C#, SCORE-選修關系PROF (P#, PNAME, AGE, D# , SAL(工資-教師 PC (P# , C#-教課DEPT (D#, DNAME , DEAN(系主任作為教師的編號P# -系學生S課程C教師PROF選課SC教課PCS#SEXSCORE SNAME AGE D# 院系 DEPTD#DEAN DNAME C#PC#CN CREDITP#AGEPNAME D#SALE-R模型關系模式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模式圖關系202119192022 學生年齡 AGE CS CS MA CI MA CS所屬系名SD男女女男女男性別 SEX A B C D E FS1S2S3S4S5S6學生姓名SN學號S#C1C1C2C4先行課號碼PC#23424學分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學習成績SCORE課程號C#學號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#計算機系數學系管理系系名 DNAME P1P2P4D1D2D3系主任

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論