數(shù)據(jù)庫(kù)系統(tǒng)概論課件:第2章 關(guān)系數(shù)據(jù)庫(kù)2.1_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件:第2章 關(guān)系數(shù)據(jù)庫(kù)2.1_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件:第2章 關(guān)系數(shù)據(jù)庫(kù)2.1_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件:第2章 關(guān)系數(shù)據(jù)庫(kù)2.1_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件:第2章 關(guān)系數(shù)據(jù)庫(kù)2.1_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 中國(guó)人民大學(xué)信息學(xué)院數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)An Introduction to Database System關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介提出關(guān)系模型的是美國(guó)IBM公司的E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式An Introdu

2、ction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)An Introduction to Database System2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)An Introduction to Database System2.1.1 關(guān)系單一的數(shù)據(jù)結(jié)構(gòu)-關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示邏輯結(jié)構(gòu)-二維表 從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表建立在集合代數(shù)的基礎(chǔ)上 An Introduc

3、tion to Database System關(guān)系(續(xù)) 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation)An Introduction to Database System 域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)長(zhǎng)度指定長(zhǎng)度的字符串集合男,女.An Introduction to Database System2. 笛卡爾積(Cartesian Product)笛卡爾積 給定一組域D1,D2,Dn,這些域中可以有相同的。 D1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)

4、diDi,i1,2,n所有域的所有取值的一個(gè)組合不能重復(fù)An Introduction to Database System笛卡爾積(續(xù)) 元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組(Tuple)(張清玫,計(jì)算機(jī)專業(yè),李勇)、(張清玫,計(jì)算機(jī)專業(yè),劉晨)等都是元組 分量(Component)笛卡爾積元素(d1,d2,dn)中的每一個(gè)值di叫作一個(gè)分量張清玫、計(jì)算機(jī)專業(yè)、李勇、劉晨等都是分量 An Introduction to Database System笛卡爾積(續(xù))基數(shù)(Cardinal number)若Di(i1,2,n)為有限

5、集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為:笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域An Introduction to Database System An Introduction to Database System3. 關(guān)系(Relation)1) 關(guān)系D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名n:關(guān)系的目或度(Degree)An Introduction to Database System關(guān)系(續(xù))2) 元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3) 單元關(guān)系

6、與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unary relation) 或一元關(guān)系 當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binary relation)An Introduction to Database System關(guān)系(續(xù))4) 關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域An Introduction to Database System關(guān)系(續(xù))5)屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域?yàn)榱思右詤^(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute)n目關(guān)系必有n個(gè)屬性An Introduction to Database System關(guān)系(續(xù))6) 碼候選碼(C

7、andidate key) 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼 簡(jiǎn)單的情況:候選碼只包含一個(gè)屬性全碼(All-key) 最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)An Introduction to Database System關(guān)系(續(xù))碼(續(xù))主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key)主屬性候選碼的諸屬性稱為主屬性(Prime attribute)不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute)或非碼屬性(Non-key attribute) An I

8、ntroduction to Database System關(guān)系(續(xù))D1,D2,Dn的笛卡爾積的某個(gè)子集才有實(shí)際含義例:表2.1 的笛卡爾積沒(méi)有實(shí)際意義 取出有實(shí)際意義的元組來(lái)構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假設(shè):導(dǎo)師與專業(yè):1:1, 導(dǎo)師與研究生:1:n主碼:POSTGRADUATE(假設(shè)研究生不會(huì)重名) SAP關(guān)系可以包含三個(gè)元組 (張清玫,計(jì)算機(jī)專業(yè),李勇), (張清玫,計(jì)算機(jī)專業(yè),劉晨), (劉逸,信息專業(yè),王敏) An Introduction to Database System關(guān)系(續(xù))7) 三類關(guān)系基本關(guān)系(基本表或

9、基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)An Introduction to Database System關(guān)系(續(xù))8)基本關(guān)系的性質(zhì) 列是同質(zhì)的(Homogeneous) 不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名 列的順序無(wú)所謂,,列的次序可以任意交換 任意兩個(gè)元組的候選碼不能相同 行的順序無(wú)所謂,行的次序可以任意交換An Introduction to Database System基本關(guān)系的性質(zhì)(續(xù)) 分量必須取原子值這是規(guī)范條件中最基本的一條 表2.3 非規(guī)范化

10、關(guān)系A(chǔ)n Introduction to Database System2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)An Introduction to Database System2.1.2 關(guān)系模式1什么是關(guān)系模式2定義關(guān)系模式3. 關(guān)系模式與關(guān)系A(chǔ)n Introduction to Database System1什么是關(guān)系模式關(guān)系模式(Relation Schema)是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來(lái)自的域 屬性與域之間的映象關(guān)系元組語(yǔ)義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合An Introduction to Dat

11、abase System2定義關(guān)系模式關(guān)系模式可以形式化地表示為: R(U,D,DOM,F(xiàn))R 關(guān)系名U 組成該關(guān)系的屬性名集合D 屬性組U中屬性所來(lái)自的域DOM 屬性向域的映象集合F 屬性間的數(shù)據(jù)依賴關(guān)系集合An Introduction to Database System定義關(guān)系模式 (續(xù))例:導(dǎo)師和研究生出自同一個(gè)域人,取不同的屬性名,并在模式中定義屬性向域的映象,即說(shuō)明它們分別出自哪個(gè)域: DOM(SUPERVISOR-PERSON)= DOM(POSTGRADUATE-PERSON)=PERSONAn Introduction to Database System定義關(guān)系模式 (續(xù)

12、)關(guān)系模式通??梢院?jiǎn)記為 R (U) 或 R (A1,A2,An)R: 關(guān)系名A1,A2,An : 屬性名注:域名及屬性向域的映象常常直接說(shuō)明為 屬性的類型、長(zhǎng)度An Introduction to Database System3. 關(guān)系模式與關(guān)系關(guān)系模式對(duì)關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系 通過(guò)上下文加以區(qū)別An Introduction to Database System2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)An Introduction to Database Syst

13、em2.1.3 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)在一個(gè)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)的型與值A(chǔ)n Introduction to Database System2. 關(guān)系數(shù)據(jù)庫(kù)的型與值關(guān)系數(shù)據(jù)庫(kù)的型: 關(guān)系數(shù)據(jù)庫(kù)模式 對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述。關(guān)系數(shù)據(jù)庫(kù)模式包括若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值: 關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系模型概述2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)An Introduction

14、 to Database System2.2.1基本關(guān)系操作 常用的關(guān)系操作查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分選擇、投影、并、差、笛卡爾基是5種基本操作 關(guān)系操作的特點(diǎn)集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式An Introduction to Database System2.2.2 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的分類 關(guān)系代數(shù)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求代表:ISBL關(guān)系演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢要求元組關(guān)系演算語(yǔ)言謂詞變?cè)幕緦?duì)象是元組變量代表:APLHA, QUEL域關(guān)系演算語(yǔ)言 謂詞變?cè)幕緦?duì)象是域變量代表:QB

15、E具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言代表:SQL(Structured Query Language) An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)An Introduction to Database System2.3 關(guān)系的完整性2.3.1 關(guān)系的三類完整性約束2.3.2 實(shí)體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性An Introduction to Database System2.3.1 關(guān)系的三類完整性約束實(shí)體

16、完整性和參照完整性: 關(guān)系模型必須滿足的完整性約束條件 稱為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持用戶定義的完整性: 應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束 An Introduction to Database System2.3 關(guān)系的完整性2.3.1關(guān)系的三類完整性約束2.3.2 實(shí)體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性An Introduction to Database System2.3.2 實(shí)體完整性規(guī)則2.1 實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值 例:SAP(SUPERVISO

17、R,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主碼(假設(shè)研究生不會(huì)重名)不能取空值A(chǔ)n Introduction to Database System實(shí)體完整性(續(xù))實(shí)體完整性規(guī)則的說(shuō)明(1) 實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn) 實(shí)世界的一個(gè)實(shí)體集。(2) 現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3) 關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。(4) 主碼中的屬性即主屬性不能取空值。主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性An Introduction to D

18、atabase System2.3關(guān)系的完整性2.3.1關(guān)系的三類完整性約束2.3.2 實(shí)體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性An Introduction to Database System2.3.3 參照完整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則An Introduction to Database System1. 關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描 述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1 學(xué)生實(shí)體、專業(yè)實(shí)體學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名)主碼主碼學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號(hào)”。 學(xué)生關(guān)

19、系中的“專業(yè)號(hào)”值必須是確實(shí)存在的專業(yè)的專業(yè)號(hào) ,即專業(yè) 關(guān)系中有該專業(yè)的記錄。An Introduction to Database System關(guān)系間的引用(續(xù))例2 學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī))An Introduction to Database System關(guān)系間的引用(續(xù))例3 學(xué)生實(shí)體及其內(nèi)部的一對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))“學(xué)號(hào)”是主碼,“班長(zhǎng)”是外碼,它引用了本關(guān)系的“學(xué)號(hào)” “班長(zhǎng)” 必須是確實(shí)存在的學(xué)生的學(xué)號(hào) An Introduction

20、 to Database System2外碼(Foreign Key)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為被參照關(guān)系(Referenced Relation) 或目標(biāo)關(guān)系(Target Relation)An Introduction to Database System外碼(續(xù))例1:學(xué)生關(guān)系的“專業(yè)號(hào)與專業(yè)關(guān)系的主碼“專業(yè)號(hào)”相對(duì)應(yīng)“專業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼專業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系 An Introduction t

21、o Database System外碼(續(xù))例2: 選修關(guān)系的“學(xué)號(hào)” 與學(xué)生關(guān)系的主碼“學(xué)號(hào)”相對(duì)應(yīng) 選修關(guān)系的“課程號(hào)”與課程關(guān)系的主碼“課程號(hào)”相對(duì)應(yīng)“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系的外碼學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系選修關(guān)系為參照關(guān)系 An Introduction to Database System外碼(續(xù))例3:“班長(zhǎng)”與本身的主碼“學(xué)號(hào)”相對(duì)應(yīng)“班長(zhǎng)”是外碼學(xué)生關(guān)系既是參照關(guān)系也是被參照關(guān)系 An Introduction to Database System外碼(續(xù))關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上外碼并不一定要與相應(yīng)的主碼同名 當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名 字,以便于識(shí)別An Introduction to Database System3. 參照完整性規(guī)則規(guī)則2.2 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值A(chǔ)n Introduction to Database System參照完整性規(guī)則(續(xù))例1:學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取兩類值:(1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論