數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示課件_第1頁
數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示課件_第2頁
數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示課件_第3頁
數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示課件_第4頁
數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示課件_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)概論第五版文稿演示數(shù)據(jù)庫系統(tǒng)概論第五版第章關(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、化定義2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫2.1.4 關(guān)系模型的存儲結(jié)構(gòu)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ǔ)上 關(guān)系(續(xù)) 1. 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation)1. 域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)指定長度的字符串集合男,女.2. 笛卡爾積(Cartesian Product)笛卡爾積給定一組域D1,D2,Dn,

3、允許其中某些域是相同的。 D1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)diDi,i1,2,n所有域的所有取值的一個組合不能重復笛卡爾積(續(xù)) 元組(Tuple)笛卡爾積中每一個元素(d1,d2,dn)叫作一個n元組(n-tuple)或簡稱元組(張清玫,計算機專業(yè),李勇)、 (張清玫,計算機專業(yè),劉晨) 等 都是元組 分量(Component)笛卡爾積元素(d1,d2,dn)中的每一個值di 叫作一個分量張清玫、計算機專業(yè)、李勇、劉晨等都是分量 笛卡爾積(續(xù))基數(shù)(Cardinal number)若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的

4、基數(shù)M為:笛卡爾積的表示方法笛卡爾積可表示為一張二維表表中的每行對應一個元組,表中的每列對應一個域笛卡爾積(續(xù))例如,給出3個域:D1=導師集合SUPERVISOR=張清玫,劉逸D2=專業(yè)集合SPECIALITY=計算機專業(yè),信息專業(yè)D3=研究生集合POSTGRADUATE=李勇,劉晨,王敏D1,D2,D3的笛卡爾積為笛卡爾積(續(xù)) D1D2D3 (張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨), (張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計算機專業(yè),李勇),(劉逸,計算機專業(yè),劉晨), (劉逸,計算

5、機專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) 基數(shù)為22312 笛卡爾積(續(xù))3. 關(guān)系(Relation)(1) 關(guān)系D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名n:關(guān)系的目或度(Degree)關(guān)系(續(xù))(2)元組關(guān)系中的每個元素是關(guān)系中的元組,通常用t表示。(3)單元關(guān)系與二元關(guān)系當n=1時,稱該關(guān)系為單元關(guān)系(Unary relation) 或一元關(guān)系 當n=2時,稱該關(guān)系為二元關(guān)系(Binary relation)關(guān)系(續(xù))(4)關(guān)系的表示關(guān)系也是一個二維表,表的每行對應一個元組,表的每

6、列對應一個域(5)屬性關(guān)系中不同列可以對應相同的域為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)n目關(guān)系必有n個屬性關(guān)系(續(xù))(6)碼候選碼(Candidate key) 若關(guān)系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼 簡單的情況:候選碼只包含一個屬性全碼(All-key) 最極端的情況:關(guān)系模式的所有屬性組是這個關(guān)系模式的候選碼,稱為全碼(All-key)關(guān)系(續(xù))(6)碼(續(xù))主碼若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primary key)主屬性候選碼的諸屬性稱為主屬性(Prime attribute)不包含在任何侯選碼中的屬性稱為非主屬性

7、(Non-Prime attribute)或非碼屬性(Non-key attribute) 關(guān)系(續(xù))D1,D2,Dn的笛卡爾積的某個子集才有實際含義例:表2.1 的笛卡爾積沒有實際意義 取出有實際意義的元組來構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 假設(shè):導師與專業(yè):n:1, 導師與研究生:1:n主碼:POSTGRADUATE(假設(shè)研究生不會重名) SUPERVISORSPECIALITYPOSTGRADUATE張清玫計算機專業(yè)李勇張清玫計算機專業(yè)劉晨劉逸信息專業(yè)王敏關(guān)系(續(xù))(7)三類關(guān)系基本關(guān)系(基本表或基表)實際存在的表,是實際存儲數(shù)

8、據(jù)的邏輯表示查詢表查詢結(jié)果對應的表視圖表由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數(shù)據(jù)關(guān)系(續(xù))(8)基本關(guān)系的性質(zhì) 列是同質(zhì)的(Homogeneous) 不同的列可出自同一個域其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名 列的順序無所謂,,列的次序可以任意交換 任意兩個元組的候選碼不能相同 行的順序無所謂,行的次序可以任意交換基本關(guān)系的性質(zhì)(續(xù)) 分量必須取原子值這是規(guī)范條件中最基本的一條 表2.3 非規(guī)范化關(guān)系SUPERVISORSPECIALITYPOSTGRADUATEPG1PG2張清玫計算機專業(yè)李勇劉晨劉逸信息專業(yè)王敏小表2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.1.1 關(guān)系2.1

9、.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫2.1.4 關(guān)系模型的存儲結(jié)構(gòu)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)成屬性來自的域 屬性與域之間的映象關(guān)系完整性約束條件2定義關(guān)系模式關(guān)系模式可以形式化地表示為: R(U,D,DOM,F(xiàn))R 關(guān)系名U 組成該關(guān)系的屬性名集合D U中屬性所來自的域DOM 屬性向域的映象集合F 屬性間數(shù)據(jù)的依賴關(guān)系的集合定義關(guān)系模式 (續(xù))例:導師和研究生出自同一個域人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪

10、個域: DOM(SUPERVISOR-PERSON)= DOM(POSTGRADUATE-PERSON)= PERSON定義關(guān)系模式 (續(xù))關(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)系 通過上下文加以區(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.4 關(guān)系模型的存儲結(jié)構(gòu)2.1.3 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)

11、庫在一個給定的應用領(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)系數(shù)據(jù)庫的值: 關(guān)系模式在某一時刻對應的關(guān)系的集合,通常稱為關(guān)系數(shù)據(jù)庫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.4 關(guān)系模型的存儲結(jié)構(gòu)2.1.4 關(guān)系模型的存儲結(jié)構(gòu)關(guān)系數(shù)據(jù)庫的物理組織有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)中一個表對應一個操作系統(tǒng)文件,將物理數(shù)據(jù)組織交給操作系統(tǒng)完成有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)從操作系統(tǒng)那里申請若干個大的文件,自己劃分文件空間,組織表、索引等存儲結(jié)構(gòu),并進行存儲管理第二章 關(guān)系數(shù)據(jù)庫2.1 關(guān)系模型概述2.2

12、關(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)系操作查詢操作:選擇、投影、連接、除、并、差、交、笛卡爾積選擇、投影、并、差、笛卡爾基是5種基本操作數(shù)據(jù)更新:插入、刪除、修改關(guān)系操作的特點集合操作方式:操作的對象和結(jié)果都是集合,一次一集合的方式2.2.2 關(guān)系數(shù)據(jù)庫語言的分類 關(guān)系代數(shù)語言用對關(guān)系的運算來表達查詢要求代表:ISBL關(guān)系演算語言:用謂詞來表達查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量代表:APLHA, QUEL域關(guān)系演算語言 謂詞變元的基本對象是域變量代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言代表:SQ

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

14、空值空值就是“不知道”或“不存在”或“無意義”的值 例:選修(學號,課程號,成績)“學號、課程號”為主碼“學號”和“課程號”兩個屬性都不能取空值實體完整性(續(xù))實體完整性規(guī)則的說明(1)實體完整性規(guī)則是針對基本關(guān)系而言的。 一個基本表通常對應現(xiàn)實世界的一個實體集。(2)現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯 一性標識。(3)關(guān)系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。 主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性2.3 關(guān)系的完整性2.3.1 實體完整性2.3.2 參照完整性2.3.3 用戶定

15、義的完整性2.3.2 參照完整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則1. 關(guān)系間的引用在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,自然存在著關(guān)系與關(guān)系間的引用。例2.1 學生實體、專業(yè)實體學生(學號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名)學生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號”。 學生關(guān)系中的“專業(yè)號”值必須是確實存在的專業(yè)的專業(yè)號主碼主碼關(guān)系間的引用(續(xù))例2.2 學生、課程、學生與課程之間的多對多聯(lián)系 學生(學號,姓名,性別,專業(yè)號,年齡) 課程(課程號,課程名,學分) 選修(學號,課程號,成績)關(guān)系間的引用(續(xù))例2.3 學生實體及其內(nèi)部的一對多聯(lián)系 學生(學

16、號,姓名,性別,專業(yè)號,年齡,班長)“學號”是主碼,“班長”是外碼,它引用了本關(guān)系的“學號” “班長” 必須是確實存在的學生的學號 2外碼(Foreign Key)設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應,則稱F是R的外碼基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為被參照關(guān)系(Referenced Relation) 或目標關(guān)系(Target Relation)外碼(續(xù))例2.1中學生關(guān)系的“專業(yè)號”與專業(yè)關(guān)系的主碼“專業(yè)號”相對應“專業(yè)號”屬性是學生關(guān)系的外碼專業(yè)關(guān)系是被參照關(guān)系,學生關(guān)系為參照關(guān)系 外碼(續(xù))

17、例2.2中 選修關(guān)系的“學號” 與學生關(guān)系的主碼“學號”相對應 選修關(guān)系的“課程號”與課程關(guān)系的主碼“課程號”相對應“學號”和“課程號”是選修關(guān)系的外碼學生關(guān)系和課程關(guān)系均為被參照關(guān)系選修關(guān)系為參照關(guān)系 外碼(續(xù))例2.3中“班長”與本身的主碼“學號”相對應“班長”是外碼學生關(guān)系既是參照關(guān)系也是被參照關(guān)系 外碼(續(xù))關(guān)系R和S不一定是不同的關(guān)系目標關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必須定義在同一個(或一組)域上外碼并不一定要與相應的主碼同名 當外碼與相應的主碼屬于不同關(guān)系時,往往取相同的名 字,以便于識別3. 參照完整性規(guī)則規(guī)則2.2 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它

18、與基本關(guān)系S的主碼Ks相對應(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值參照完整性規(guī)則(續(xù))例2.1中學生關(guān)系中每個元組的“專業(yè)號”屬性只取兩類值:(1)空值,表示尚未給該學生分配專業(yè)(2)非空值,這時該值必須是專業(yè)關(guān)系中某個元組的“專業(yè)號”值,表示該學生不可能分配一個不存在的專業(yè)參照完整性規(guī)則(續(xù))例2.2 中選修(學號,課程號,成績)“學號”和“課程號”可能的取值 : (1)選修關(guān)系中的主屬性,不能取空值 (2)只能取相應被參照關(guān)系中已經(jīng)存在的主碼值參照完整性規(guī)則(續(xù))例2.3 中學生(學號,姓名

19、,性別,專業(yè)號,年齡,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學生所在班級尚未選出班長(2)非空值,該值必須是本關(guān)系中某個元組的學號值2.3 關(guān)系的完整性2.3.1 實體完整性2.3.2 參照完整性2.3.3 用戶定義的完整性2.3.3 用戶定義的完整性針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求關(guān)系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需由應用程序承擔這一功能用戶定義的完整性(續(xù))例: 課程(課程號,課程名,學分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學分”屬性只能取值1,2,3,4第二章

20、 關(guān)系數(shù)據(jù)庫2.1 關(guān)系模型概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 *關(guān)系演算2.6 小結(jié)2.4 關(guān)系代數(shù)關(guān)系代數(shù)是一種抽象的查詢語言,它用對關(guān)系的運算來表達查詢關(guān)系代數(shù)運算對象是關(guān)系運算結(jié)果亦為關(guān)系關(guān)系代數(shù)的運算符有兩類:集合運算符和專門的關(guān)系運算符傳統(tǒng)的集合運算是從關(guān)系的“水平”方向即行的角度進行專門的關(guān)系運算不僅涉及行而且涉及列表2.4 關(guān)系代數(shù)運算符2.4 關(guān)系代數(shù)運算符含義集合運算符并-差交笛卡爾積專門的關(guān)系運算符選擇投影連接除 2.4 關(guān)系代數(shù)2.4.1傳統(tǒng)的集合運算2.4.2專門的關(guān)系運算(1) 并(Union)R和S具有相同的目n(即兩個關(guān)系都有n個

21、屬性)相應的屬性取自同一個域RS 仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成 RS = t|t Rt S 并(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2ABCa1b2c2a1b3c2a2b2c1RSRUS(2)差(Difference)R和S具有相同的目n相應的屬性取自同一個域R - S 仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS 差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S(3) 交(Intersection)R和S具有相同的目n

22、相應的屬性取自同一個域RS仍為n目關(guān)系,由既屬于R又屬于S的元組組成 RS = t|t Rt S RS = R (R-S)交 (續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S(4) 笛卡爾積(Cartesian Product)嚴格地講應該是廣義的笛卡爾積(Extended Cartesian Product) R: n目關(guān)系,k1個元組S: m目關(guān)系,k2個元組RS 列:(n+m)列元組的集合元組的前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組行:k1k2個元組RS = tr ts |tr R tsS 笛卡爾

23、積 (續(xù))ABCa1b1c1a1b2c2a2b2c1R.A R.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S 2.4 關(guān)系代數(shù)2.4.1 傳統(tǒng)的集合運算2.4.2 專門的關(guān)系運算2.4.2 專門的關(guān)系運算先引入幾個記號 (1) R,tR,tAi 設(shè)關(guān)系模式為R(A1,A2,An) 它的一個關(guān)系設(shè)為R tR表示t是R的一個元組 tAi則表示元組t中相

24、應于屬性Ai的一個分量 專門的關(guān)系運算(續(xù))(2) A,tA, A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,則A稱為屬性列或?qū)傩越M。 tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分量的集合。 A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。 專門的關(guān)系運算(續(xù))(3) tr ts R為n目關(guān)系,S為m目關(guān)系。 tr R,tsS, tr ts稱為元組的連接。 tr ts是一個n + m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。 專門的關(guān)系運算(續(xù))(4)象集Zx 給定一個關(guān)系R(X,Z

25、),X和Z為屬性組。 當tX=x時,x在R中的象集(Images Set)為: Zx=tZ|t R,tX=x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合 專門的關(guān)系運算(續(xù))x1在R中的象集 Zx1 =Z1,Z2,Z3,x2在R中的象集 Zx2 =Z2,Z3,x3在R中的象集 Zx3=Z1,Z3象集舉例 專門的關(guān)系運算(續(xù))1. 選擇2. 投影3. 連接4. 除運算專門的關(guān)系運算(續(xù))(a) Student學生-課程數(shù)據(jù)庫: 學生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept201215121李勇男20CS2012

26、15122劉晨女19CS201215123王敏女18MA201215125張立男19IS專門的關(guān)系運算(續(xù))課程號Cno課程名Cname先行課Cpno學分Ccredit1數(shù)據(jù)庫542數(shù)學23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64Course(b)專門的關(guān)系運算(續(xù))(c)SC學號Sno課程號Cno成績Grade2012151211922012151212852012151213882012151222902012151223801. 選擇(Selection) 選擇又稱為限制(Restriction)選擇運算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 F(R

27、) = t|tRF(t)= 真F:選擇條件,是一個邏輯表達式,取值為“真”或“假”基本形式為:X1Y1表示比較運算符,它可以是,或選擇(續(xù))選擇運算是從關(guān)系R中選取使邏輯表達式F為真的元組,是從行的角度進行的運算選擇(續(xù))例2.4 查詢信息系(IS系)全體學生。 Sdept = IS (Student) 結(jié)果: SnoSnameSsexSageSdept201215125張立男19IS選擇(續(xù))例2.5 查詢年齡小于20歲的學生。 Sage 20(Student) 結(jié)果: SnoSnameSsexSageSdept201215122劉晨女19IS201215123王敏女18MA20121512

28、5張立男19IS2. 投影(Projection) 從R中選擇出若干屬性列組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列投影操作主要是從列的角度進行運算投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復行)投影(續(xù))例2.6 查詢學生的姓名和所在系。即求Student關(guān)系上學生姓名和所在系兩個屬性上的投影 Sname,Sdept(Student)結(jié)果:SnameSdept李勇CS劉晨CS王敏MA張立IS投影(續(xù))例2.7 查詢學生關(guān)系Student中都有哪些系。 Sdept(Student)結(jié)果:SdeptCSISMA3. 連接(Join) 連接也稱為連接連接

29、運算的含義從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組:比較運算符連接運算從R和S的廣義笛卡爾積RS中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上的值滿足比較關(guān)系的元組 ABtr ts 連接(續(xù)) 兩類常用連接運算等值連接(equijoin) 為“”的連接運算稱為等值連接從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB A=Btr ts 連接(續(xù)) 自然連接(Natural join) 自然連接是一種特殊的等值連接兩個

30、關(guān)系中進行比較的分量必須是相同的屬性組在結(jié)果中把重復的屬性列去掉自然連接的含義R和S具有相同的屬性組B R S = U-B | tr Rts StrB = tsB tr ts連接(續(xù))一般的連接操作是從行的角度進行運算。 自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。 ABRS連接(續(xù))ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b22RS例2.8關(guān)系R和關(guān)系S 如下所示:連接(續(xù))一般連接 R S的結(jié)果如下: CEAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310連接(續(xù)) 等值連接 R S

31、 的結(jié)果如下:R.B=S.B AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù)) 自然連接 R S的結(jié)果如下: ABCEa1b153a1b267a2b3810a2b382連接(續(xù))懸浮元組(Dangling tuple)兩個關(guān)系R和S在做自然連接時,關(guān)系R中某些元組有可能在S中不存在公共屬性上值相等的元組,從而造成R中這些元組在操作時被舍棄了,這些被舍棄的元組稱為懸浮元組。連接(續(xù))外連接(Outer Join)如果把懸浮元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),就叫做外連接左外連接(LEFT OUTER JOIN或LEFT JOIN

32、)只保留左邊關(guān)系R中的懸浮元組右外連接(RIGHT OUTER JOIN或RIGHT JOIN)只保留右邊關(guān)系S中的懸浮元組連接(續(xù))下圖是例2.8中關(guān)系R和關(guān)系S的外連接 ABCEa1b153a1b267a2b3810a2b382a2b412NULLNULLb5NULL2連接(續(xù))圖(b)是例2.8中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接 ABCEa1b153a1b267a2b3810a2b382a2b412NULLABCEa1b153a1b267a2b3810a2b382NULLb5NULL2圖(b) 圖(c)4. 除運算(Division) 給定關(guān)系R (X,Y) 和S (Y,Z)

33、,其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關(guān)系P(X),P是R中滿足下列條件的元組在 X 屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作: RS=trX|trRY(S)Yx Yx:x在R中的象集,x = trX除運算(續(xù))除操作是同時從行和列角度進行運算RS除運算(續(xù))例2.9設(shè)關(guān)系R、S分別為下圖的(a)和(b),RS的結(jié)果為圖(c) ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RRSSAa1除運算(續(xù))在關(guān)系R中,A可以取四個值a1,a2,a3,a4 a1的象集為 (b1,c2),(b2,c3),(b2,c1) a

溫馨提示

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

評論

0/150

提交評論