數據庫ppt課件_第1頁
數據庫ppt課件_第2頁
數據庫ppt課件_第3頁
數據庫ppt課件_第4頁
數據庫ppt課件_第5頁
已閱讀5頁,還剩75頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數據庫系統概論數據庫系統概論An Introduction to Database System第二章第二章 關系數據庫關系數據庫;.第二章第二章 關系數據庫關系數據庫2.1 關系模型概述2.2 關系數據結構2.3 關系的完整性2.4 關系代數2.5 關系演算2.6 小結;.關系數據庫簡介關系數據庫簡介n系統而嚴格地提出關系模型的是美國IBM公司的E.F.Coddn1970年提出關系數據模型nE.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970n之后,提

2、出了關系代數和關系演算的概念n1972年提出了關系的第一、第二、第三范式n1974年提出了關系的BC范式;.關系數據庫簡介關系數據庫簡介n關系數據庫應用數學方法來處理數據庫中的數據n80年代后,關系數據庫系統成為最重要、最流行的數據庫系統;.關系數據庫簡介關系數據庫簡介n典型實驗系統nSystem RnUniversity INGRESn典型商用系統nORACLEnSYBASEnINFORMIXnDB2nINGRES;.第二章第二章 關系數據庫關系數據庫2.1 關系模型概述2.2 關系數據結構2.3 關系的完整性2.4 關系代數2.5 關系演算2.6 小結;.2.1 關系模型概述關系模型概述n

3、關系數據庫系統n是支持關系模型的數據庫系統n關系模型的組成n關系數據結構n關系操作集合n關系完整性約束;.1. 關系數據結構關系數據結構n單一的數據結構-關系n現實世界的實體以及實體間的各種聯系均用關系來表示n數據的邏輯結構-二維表n從用戶角度,關系模型中數據的邏輯結構是一張二維表。 ;.2. 關系操作集合關系操作集合n1) 常用的關系操作n2) 關系操作的特點n3) 關系數據語言的種類n4) 關系數據語言的特點;.關系操作集合關系操作集合(續)續)n1) 常用的關系操作n查詢n選擇、投影、連接、除、并、交、差n數據更新n插入、刪除、修改n查詢的表達能力是其中最主要的部分;.關系操作集合(續)

4、關系操作集合(續)n2) 關系操作的特點n集合操作方式,即操作的對象和結果都是集合。n非關系數據模型的數據操作方式:一次一記錄n文件系統的數據操作方式;.關系操作集合(續)關系操作集合(續)n3) 關系數據語言的種類n關系代數語言 n用對關系的運算來表達查詢要求n典型代表:ISBL;.關系操作集合(續)關系操作集合(續)n關系數據語言的種類(續)n關系演算語言:用謂詞來表達查詢要求n元組關系演算語言n謂詞變元的基本對象是元組變量n典型代表:APLHA, QUELn域關系演算語言 n謂詞變元的基本對象是域變量n典型代表:QBEn具有關系代數和關系演算雙重特點的語言n典型代表:SQL;.關系操作集

5、合(續)關系操作集合(續)n4) 關系數據語言的特點n關系語言是一種高度非過程化的語言n存取路徑的選擇由DBMS的優化機制來完成n用戶不必用循環結構就可以完成數據操作n能夠嵌入高級語言中使用n關系代數、元組關系演算和域關系演算三種語言在表達能力上完全等價;.3. 3. 關系的三類完整性約束關系的三類完整性約束n實體完整性n通常由關系系統自動支持n參照完整性n早期系統不支持,目前大型系統能自動支持n用戶定義的完整性n反映應用領域需要遵循的約束條件,體現了具體領域中的語義約束n用戶定義后由系統支持;.第二章第二章 關系數據庫關系數據庫2.1 關系模型概述2.2 關系數據結構2.3 關系的完整性2.

6、4 關系代數2.5 關系演算2.6 小結;.2.2 關系數據結構關系數據結構n關系模型建立在集合代數的基礎上n關系數據結構的基本概念n關系n關系模式n關系數據庫;.2.2 關系數據結構關系數據結構n2.2.1 關系n2.2.2 關系模式n2.2.3 關系數據庫;.2.2.1 關系關系n 域(Domain)n 2. 笛卡爾積(Cartesian Product)n 3. 關系(Relation);. 域(域(Domain)n域是一組具有相同數據類型的值的集合。例:n整數n實數n介于某個取值范圍的整數n長度指定長度的字符串集合n男,女n介于某個取值范圍的日期;.2. 笛卡爾積(笛卡爾積(Carte

7、sian Product)n1) 笛卡爾積給定一組域D1,D2,Dn,這些域中可以有相同的。D1,D2,Dn的笛卡爾積為:D1D2Dn(d1,d2,dn)diDi,i1,2,nn所有域的所有取值的一個組合n不能重復;.笛卡爾積(續笛卡爾積(續)例 給出三個域: D1=SUPERVISOR = 張清玫,劉逸 D2=SPECIALITY=計算機專業,信息專業 D3=POSTGRADUATE=李勇,劉晨,王敏則D1,D2,D3的笛卡爾積為:D1D2D3 (張清玫,計算機專業,李勇),(張清玫,計算機專業,劉晨), (張清玫,計算機專業,王敏),(張清玫,信息專業,李勇), (張清玫,信息專業,劉晨)

8、,(張清玫,信息專業,王敏), (劉逸,計算機專業,李勇),(劉逸,計算機專業,劉晨), (劉逸,計算機專業,王敏),(劉逸,信息專業,李勇), (劉逸,信息專業,劉晨),(劉逸,信息專業,王敏) ;.笛卡爾積(續笛卡爾積(續)n2) 元組(Tuple)n笛卡爾積中每一個元素(d1,d2,dn)叫作一個n元組(n-tuple)或簡稱元組。 n3) 分量(Component)n笛卡爾積元素(d1,d2,dn)中的每一個值di叫作一個分量。 ;.笛卡爾積(續笛卡爾積(續)n4) 基數(Cardinal number)n若Di(i1,2,n)為有限集,其基數為mi(i1,2,n),則D1D2Dn的基

9、數M為:在上例中,基數:22312,即D1D2D3共有22312個元組mMin1i;.笛卡爾積(續笛卡爾積(續)n5)笛卡爾積的表示方法n笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。在上例中,12個元組可列成一張二維表 ;. 表表 2.1 D1, D2, D3的的 笛笛 卡卡 爾爾 積積SUPE R VISO RSPE CIAL IT YPO ST G R A DU AT E張張 清清 玫玫計計 算算 機機 專專 業業李李 勇勇張張 清清 玫玫計計 算算 機機 專專 業業劉劉 晨晨張張 清清 玫玫計計 算算 機機 專專 業業王王 敏敏張張 清清 玫玫信信 息息 專

10、專 業業李李 勇勇張張 清清 玫玫信信 息息 專專 業業劉劉 晨晨張張 清清 玫玫信信 息息 專專 業業王王 敏敏劉劉 逸逸計計 算算 機機 專專 業業李李 勇勇劉劉 逸逸計計 算算 機機 專專 業業劉劉 晨晨劉劉 逸逸計計 算算 機機 專專 業業王王 敏敏劉劉 逸逸信信 息息 專專 業業李李 勇勇劉劉 逸逸信信 息息 專專 業業劉劉 晨晨劉劉 逸逸信信 息息 專專 業業王王 敏敏;.笛卡爾積(續笛卡爾積(續)表表 2.1 D1, D2, D3的的 笛笛 卡卡 爾爾 積積SU P E R V ISO RSP E C IA L IT YP O ST G R A D U A T E張張 清清 玫玫

11、計計 算算 機機 專專 業業李李 勇勇張張 清清 玫玫計計 算算 機機 專專 業業劉劉 晨晨張張 清清 玫玫計計 算算 機機 專專 業業王王 敏敏張張 清清 玫玫信信 息息 專專 業業李李 勇勇張張 清清 玫玫信信 息息 專專 業業劉劉 晨晨張張 清清 玫玫信信 息息 專專 業業王王 敏敏劉劉 逸逸計計 算算 機機 專專 業業李李 勇勇劉劉 逸逸計計 算算 機機 專專 業業劉劉 晨晨劉劉 逸逸計計 算算 機機 專專 業業王王 敏敏劉劉 逸逸信信 息息 專專 業業李李 勇勇劉劉 逸逸信信 息息 專專 業業劉劉 晨晨劉劉 逸逸信信 息息 專專 業業王王 敏敏;.3. 關系(關系(Relation)

12、1) 關系D1D2Dn的子集叫作在域D1,D2,Dn上的關系,表示為 R(D1,D2,Dn) R:關系名 n:關系的目或度(Degree);.關系(續)關系(續)注意:關系是笛卡爾積的有限子集。無限關系在數據庫系統中是無意義的。由于笛卡爾積不滿足交換律,即 (d1,d2,dn )(d2,d1,dn ) 但關系滿足交換律,即(d1,d2 ,di ,dj ,dn)=(d1,d2 ,dj,di ,dn) (i,j = 1,2,n) 解決方法:為關系的每個列附加一個屬性名以取消關系元組的有序性;.關系(續)關系(續)例 在表2.1 的笛卡爾積中取出有實際意義的元組 來構造關系關系:SAP(SUPERV

13、ISOR,SPECIALITY,POSTGRADUATE)n關系名,屬性名假設:導師與專業:1:1,導師與研究生:1:n于是:SAP關系可以包含三個元組 (張清玫,信息專業,李勇), (張清玫,信息專業,劉晨), (劉逸,信息專業,王敏) ;.關系(續)關系(續)2) 元組關系中的每個元素是關系中的元組,通常用t表示。3) 單元關系與二元關系當n=1時,稱該關系為單元關系(Unary relation)。當n=2時,稱該關系為二元關系(Binary relation)。;.關系(續)關系(續)4) 關系的表示關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。表表2.2 SAP關關

14、系系SUPERVISORSPECIALITYPOSTGRADUATE張張清清玫玫信信息息專專業業李李勇勇張張清清玫玫信信息息專專業業劉劉晨晨劉劉逸逸信信息息專專業業王王敏敏;.關系(續)關系(續)5) 屬性關系中不同列可以對應相同的域,為了加以區分,必須對每列起一個名字,稱為屬性(Attribute)。n目關系必有n個屬性。;.關系(續)關系(續)6) 碼候選碼(Candidate key)若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼在最簡單的情況下,候選碼只包含一個屬性。稱為全碼(All-key)在最極端的情況下,關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼(A

15、ll-key);.關系(續)關系(續)碼(續)主碼若一個關系有多個候選碼,則選定其中一個為主碼(Primary key)主碼的諸屬性稱為主屬性(Prime attribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-key attribute) ;.關系(續)關系(續)7) 三類關系基本關系(基本表或基表)實際存在的表,是實際存儲數據的邏輯表示查詢表查詢結果對應的表視圖表由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據;.8) 基本關系的性質基本關系的性質 列是同質的(Homogeneous)每一列中的分量是同一類型的數據,來自同一個域 不同的列可出自同一個域其中的每一列稱

16、為一個屬性不同的屬性要給予不同的屬性名;.基本關系的性質基本關系的性質(續續)上例中也可以只給出兩個域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專業(SPECIALITY)=計算機專業,信息專業SAP關系的導師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個屬性取不同的屬性名,而不能直接使用域名。例如定義:導師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE);.基本關系的性質基本關系的性質(續續) 列的順序無所謂列的次序可以任意交換遵循這一性質的數據庫產品(如ORA

17、CLE),增加新屬性時,永遠是插至最后一列但也有許多關系數據庫產品沒有遵循這一性質,例如FoxPro仍然區分了屬性順序;.基本關系的性質基本關系的性質(續續) 任意兩個元組不能完全相同由笛卡爾積的性質決定但許多關系數據庫產品沒有遵循這一性質。例如:Oracle,FoxPro等都允許關系表中存在兩個完全相同的元組,除非用戶特別定義了相應的約束條件。;.基本關系的性質基本關系的性質(續續) 行的順序無所謂行的次序可以任意交換遵循這一性質的數據庫產品(如ORACLE),插入一個元組時永遠插至最后一行但也有許多關系數據庫產品沒有遵循這一性質,例如FoxPro仍然區分了元組的順序;.基本關系的性質基本關

18、系的性質(續續) 分量必須取原子值每一個分量都必須是不可分的數據項。這是規范條件中最基本的一條表表2.3 非非 規規 范范 化化 關關 系系POSTGRADUATESUPERVISORSPECIALITYPG1PG2張張清清玫玫信信息息專專業業李李勇勇劉劉晨晨劉劉逸逸信信息息專專業業王王敏敏;.2.2 關系數據結構關系數據結構2.2.1 關系2.2.2 關系模式2.2.3 關系數據庫;.2.2.2 關系模式關系模式1什么是關系模式2定義關系模式3. 關系模式與關系;.1什么是關系模式什么是關系模式關系模式(Relation Schema)是型關系是值關系模式是對關系的描述元組集合的結構屬性構成

19、屬性來自的域 屬性與域之間的映象關系元組語義以及完整性約束條件屬性間的數據依賴關系集合 ;.2定義關系模式定義關系模式關系模式可以形式化地表示為: R(U,D,dom,F) R 關系名U 組成該關系的屬性名集合D 屬性組U中屬性所來自的域dom 屬性向域的映象集合F 屬性間的數據依賴關系集合;.定義關系模式定義關系模式 (續續)例:導師和研究生出自同一個域人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個域: dom(SUPERVISOR-PERSON)= dom(POSTGRADUATE-PERSON)=PERSON;.定義關系模式定義關系模式 (續續)關系模式通常可以

20、簡記為 R (U) 或 R (A1,A2,An) R 關系名A1,A2,An 屬性名注:域名及屬性向域的映象常常直接說明為 屬性的類型、長度;.3. 關系模式與關系關系模式與關系關系模式對關系的描述靜態的、穩定的關系關系模式在某一時刻的狀態或內容動態的、隨時間不斷變化的關系模式和關系往往統稱為關系通過上下文加以區別;.2.2 關系數據結構關系數據結構2.2.1 關系2.2.2 關系模式2.2.3 關系數據庫;.2.2.3 2.2.3 關系數據庫關系數據庫1. 關系數據庫2. 關系數據庫的型與值;.1. 關系數據庫關系數據庫在一個給定的應用領域中,所有實體及實體之間聯系的關系的集合構成一個關系數

21、據庫。;.2. 關系數據庫的型與值關系數據庫的型與值關系數據庫也有型和值之分關系數據庫的型稱為關系數據庫模式,是對關系數據庫的描述若干域的定義在這些域上定義的若干關系模式關系數據庫的值是這些關系模式在某一時刻對應的關系的集合,通常簡稱為關系數據庫;.第二章第二章 關系數據庫關系數據庫2.1 關系模型概述2.2 關系數據結構2.3 關系的完整性2.4 關系代數2.5 關系演算2.6 小結;.2.3 關系的完整性關系的完整性關系模型的完整性規則是對關系的某種約束條件。關系模型中三類完整性約束:實體完整性參照完整性用戶定義的完整性實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系

22、的兩個不不變性變性,應該由關系系統自動支持。;.關系的完整性關系的完整性(續續)2.3.1 實體完整性2.3.2. 參照完整性2.3.3. 用戶定義的完整性;.2.3.1 實體完整性實體完整性實體完整性規則(Entity Integrity)若屬性A是基本關系R的主屬性,則屬性A不能取空值例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設研究生不會重名),則其不能取空值;.實體完整性實體完整性(續續)關系模型必須遵守實體完整性規則的原因(1) 實體完整性規則是針對基本關系而言的。一個基本表通常對應現實世界的一個實體集或多對多

23、聯系。(2) 現實世界中的實體和實體間的聯系都是可區分的,即它們具有某種唯一性標識。(3) 相應地,關系模型中以主碼作為唯一性標識。;.實體完整性實體完整性(續續)關系模型必須遵守實體完整性規則的原因(續)(4) 主碼中的屬性即主屬性不能取空值。 空值就是“不知道”或“無意義”的值。 主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性。;.實體完整性實體完整性(續續)注意實體完整性規則規定基本關系的所有主屬性都不能取空值例選修(學號,課程號,成績)“學號、課程號”為主碼,則兩個屬性都不能取空值。;.關系的完整性關系的完整性2.3.

24、1 實體完整性2.3.2. 參照完整性2.3.3. 用戶定義的完整性;.2.3.2 參照完整性參照完整性1. 關系間的引用2. 外碼3. 參照完整性規則;.1. 關系間的引用關系間的引用在關系模型中實體及實體間的聯系都是用關系來描述的,因此可能存在著關系與關系間的引用。例1 學生實體、專業實體以及專業與學生 間的一對多聯系 學生(學號,姓名,性別,專業號,年齡) 專業(專業號,專業名);.學學 號號姓姓 名名性性 別別專專 業業 號號年年 齡齡8 0 1張張 三三女女0 11 98 0 2李李 四四男男0 12 08 0 3王王 五五男男0 12 08 0 4趙趙 六六女女0 22 08 0

25、5錢錢 七七男男0 21 9專專 業業 號號專專 業業 名名0 1信信 息息0 2數數 學學0 3計計 算算 機機學生(學生(學號學號,姓名,性別,專業號,年齡),姓名,性別,專業號,年齡)專業(專業(專業號專業號,專業名),專業名);.關系間的引用關系間的引用(續續)例2 學生、課程、學生與課程之間的多對 多聯系 學生(學號,姓名,性別,專業號,年齡) 課程(課程號,課程名,學分) 選修(學號,課程號,成績);. 課課程程號號課課程程名名學學分分01數數據據庫庫402數數據據結結構構403編編譯譯404PASCAL2學學 號號姓姓 名名性性 別別專專 業業 號號年年 齡齡8 0 1張張 三三

26、女女0 11 98 0 2李李 四四男男0 12 08 0 3王王 五五男男0 12 08 0 4趙趙 六六女女0 22 08 0 5錢錢 七七男男0 21 9學學 號號課課 程程號號成成 績績801049280103788010285802038280204908030488學生學生學生選課學生選課課程課程;.關系間的引用關系間的引用(續續)例3 學生實體及其內部的領導聯系(一對多) 學生(學號,姓名,性別,專業號,年齡,班長)學學號號姓姓名名性性別別專專業業號號年年齡齡班班長長801張張三三女女0119802802李李四四男男0120803王王五五男男0120802804趙趙六六女女0220805805錢錢七七男男0219;.2外碼(外碼(Foreign Key)設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼基本關系R稱為參照關系(Referencing Relation)基本關系S稱為被參照關系(ReferencedRelation)或目標關系(Target Relation)。;.外碼外碼(續續)說明n關系R和S不一定是不同的關系n目標關系S的主碼Ks 和參照關系的外碼F必須定義在同一個(或一組)域上n外碼并不一定要與相應的主碼同名 當外碼與相應的主碼屬于不同關系時,往往 取相同的名字,以便于

溫馨提示

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

評論

0/150

提交評論