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

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)概論第二章關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫簡介提出關(guān)系模型的是美國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范式第二章關(guān)系數(shù)據(jù)庫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é)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1 關(guān)系2.

2、1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫2.1.1 關(guān)系單一的數(shù)據(jù)結(jié)構(gòu)-關(guān)系現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系來表示邏輯結(jié)構(gòu)-二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表建立在集合代數(shù)的基礎(chǔ)上2.1.1 關(guān)系域(Domain)笛卡爾積(Cartesian Product)關(guān)系(Relation) 域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)長度指定長度的字符串集合男,女.2. 笛卡爾積(Cartesian Product)笛卡爾積給定一組域D1,D2,Dn,這些域中可以有相同的。D1,D2,Dn的笛卡爾積為:D1D2Dn (d1,d2

3、,dn)diDi,i1,2,n所有域的所有取值的一個組合不能重復(fù)2. 笛卡爾積元組(Tuple)笛卡爾積中每一個元素(d1,d2,dn)叫作一個n元組(n-tuple)或簡稱元組(Tuple)(張清玫,計算機專業(yè),李勇)、(張清玫,計算機專業(yè),劉晨)等都是元組分量(Component)笛卡爾積元素(d1,d2,dn)中的每一個值di叫作一個分量張清玫、計算機專業(yè)、李勇、劉晨等都是分量基數(shù)(Cardinal number)若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為:笛卡爾積的表示方法笛卡爾積可表示為一個二維表表中的每行對應(yīng)一個元組,表中的每列對應(yīng)一個域

4、表2.1 D1,D2,D3的笛卡爾積3. 關(guān)系(Relation)關(guān)系D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān)系,表示為R(D1,D2,Dn)R:關(guān)系名n:關(guān)系的目或度(Degree)元組關(guān)系中的每個元素是關(guān)系中的元組,通常用t表示。單元關(guān)系與二元關(guān)系當n=1時,稱該關(guān)系為單元關(guān)系(Unary relation)或一元關(guān)系當n=2時,稱該關(guān)系為二元關(guān)系(Binary relation)3. 關(guān)系關(guān)系的表示關(guān)系也是一個二維表,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域?qū)傩躁P(guān)系中不同列可以對應(yīng)相同的域為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)n目關(guān)系必有n個屬性3.

5、關(guān)系碼候選碼(Candidate key)若關(guān)系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼簡單的情況:候選碼只包含一個屬性全碼(All-key)最極端的情況:關(guān)系模式的所有屬性組是這個關(guān)系模式的候選碼,稱為全碼(All-key)主碼若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primary key)主屬性候選碼的諸屬性稱為主屬性(Prime attribute)不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute)或非碼屬性(Non-key attribute)3. 關(guān)系D1,D2,Dn的笛卡爾積的某個子集才有實際含義例:表2.1 的笛卡爾積沒有

6、實際意義取出有實際意義的元組來構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假設(shè):導(dǎo)師與專業(yè):1:1, 導(dǎo)師與研究生:1:n主碼:POSTGRADUATE(假設(shè)研究生不會重名)SAP關(guān)系可以包含三個元組 (張清玫,計算機專業(yè),李勇), (張清玫,計算機專業(yè),劉晨), (劉逸,信息專業(yè),王敏) 3. 關(guān)系三類關(guān)系基本關(guān)系(基本表或基表)實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)3. 關(guān)系基本關(guān)系的性質(zhì)列是同質(zhì)的(Homogeneous)不同的列可出自同一個域其中的每一列

7、稱為一個屬性不同的屬性要給予不同的屬性名列的順序無所謂,,列的次序可以任意交換任意兩個元組的候選碼不能相同行的順序無所謂,行的次序可以任意交換分量必須取原子值2.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ù)庫2.1.2 關(guān)系模式1什么是關(guān)系模式2定義關(guān)系模式3. 關(guān)系模式與關(guān)系1什么是關(guān)系模式關(guān)系模式(Relation Schema)是型關(guān)系是值關(guān)系模式是對關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合2定義關(guān)系模式關(guān)系模式可以形式化地表示為:R(U,D,DOM,F(xiàn))R關(guān)系名U組成該關(guān)系的屬性名集

8、合D屬性組U中屬性所來自的域DOM屬性向域的映象集合F屬性間的數(shù)據(jù)依賴關(guān)系集合2定義關(guān)系模式例:導(dǎo)師和研究生出自同一個域人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個域:DOM(SUPERVISOR)= DOM(POSTGRADUATE)= PERSON2定義關(guān)系模式關(guān)系模式通??梢院営洖?R(U) 或R(A1,A2,An)R: 關(guān)系名A1,A2,An : 屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度3. 關(guān)系模式與關(guān)系關(guān)系模式對關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容動態(tài)的、隨時間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系,通過上下文加

9、以區(qū)別2.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ù)庫2.1.3 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫在一個給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫的型: 關(guān)系數(shù)據(jù)庫模式對關(guān)系數(shù)據(jù)庫的描述。關(guān)系數(shù)據(jù)庫模式包括若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫的值: 關(guān)系模式在某一時刻對應(yīng)的關(guān)系的集合,簡稱為關(guān)系數(shù)據(jù)庫第二章 關(guān)系數(shù)據(jù)庫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é)2.2.1 基本關(guān)系操作常用的關(guān)系操作查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改查詢的表達能力是

10、其中最主要的部分選擇、投影、并、差、笛卡爾基是5種基本操作關(guān)系操作的特點集合操作方式:操作的對象和結(jié)果都是集合,一次一集合的方式2.2.2 關(guān)系數(shù)據(jù)庫語言的分類關(guān)系代數(shù)語言用對關(guān)系的運算來表達查詢要求代表:ISBL關(guān)系演算語言:用謂詞來表達查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量代表:ALPHA, QUEL域關(guān)系演算語言謂詞變元的基本對象是域變量代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言代表:SQL(Structured Query Language)第二章 關(guān)系數(shù)據(jù)庫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

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

12、SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主碼(假設(shè)研究生不會重名)不能取空值實體完整性規(guī)則的說明實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集。現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。關(guān)系模型中以主碼作為唯一性標識。主碼中的屬性即主屬性不能取空值。主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性2.3 關(guān)系的完整性2.3.1關(guān)系的三類完整性約束2.3.2 實體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性2.3.3 參照完

13、整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則1. 關(guān)系間的引用在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1 學(xué)生實體、專業(yè)實體學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號”。學(xué)生關(guān)系中的“專業(yè)號”值必須是確實存在的專業(yè)的專業(yè)號,即專業(yè)關(guān)系中有該專業(yè)的記錄。1. 關(guān)系間的引用例2 學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)1. 關(guān)系間的引用例3 學(xué)生實體及其內(nèi)部的一對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年

14、齡,班長)“學(xué)號”是主碼,“班長”是外碼,它引用了本關(guān)系的“學(xué)號”“班長” 必須是確實存在的學(xué)生的學(xué)號2外碼(Foreign Key)設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼K相對應(yīng),則稱F是基本關(guān)系R的外碼基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為被參照關(guān)系(Referenced Relation)或目標關(guān)系(Target Relation)2外碼例1:學(xué)生關(guān)系的“專業(yè)號與專業(yè)關(guān)系的主碼“專業(yè)號”相對應(yīng)“專業(yè)號”屬性是學(xué)生關(guān)系的外碼專業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系2外碼例2:選修關(guān)系的“學(xué)號” 與學(xué)生關(guān)系的主碼

15、“學(xué)號”相對應(yīng)選修關(guān)系的“課程號”與課程關(guān)系的主碼“課程號”相對應(yīng)“學(xué)號”和“課程號”是選修關(guān)系的外碼學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系選修關(guān)系為參照關(guān)系2外碼例3:“班長”與本身的主碼“學(xué)號”相對應(yīng)“班長”是外碼學(xué)生關(guān)系既是參照關(guān)系也是被參照關(guān)系2外碼關(guān)系R和S不一定是不同的關(guān)系目標關(guān)系S的主碼K和參照關(guān)系的外碼F必須定義在同一個(或一組)域上外碼并不一定要與相應(yīng)的主碼同名當外碼與相應(yīng)的主碼屬于不同關(guān)系時,往往取相同的名字,以便于識別3. 參照完整性規(guī)則規(guī)則2.2 參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼K相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值3. 參照完整性規(guī)則例1:學(xué)生關(guān)系中每個元組的“專業(yè)號”屬性只取兩類值:空值,表示尚未給該學(xué)生分配專業(yè)非空值,這時該值必須是專業(yè)關(guān)系中某個元組的“專業(yè)號”值,表示該學(xué)生不可能分配一個不存在的專業(yè)3. 參照完整性規(guī)則例2:選修(學(xué)號,課程號,成績)“學(xué)號”和“課程號”可能的取值:選修關(guān)系中的主屬性,不能取空值只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值3. 參照完整性規(guī)則例3:學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)“班長”屬性值可以取兩類值:空值,表示該學(xué)生所在班級尚未選出班長非空值,該值

溫馨提示

  • 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

提交評論