第三章 關(guān)系數(shù)據(jù)庫_第1頁
第三章 關(guān)系數(shù)據(jù)庫_第2頁
第三章 關(guān)系數(shù)據(jù)庫_第3頁
第三章 關(guān)系數(shù)據(jù)庫_第4頁
第三章 關(guān)系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章關(guān)系數(shù)據(jù)庫第1頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems數(shù)據(jù)庫系統(tǒng)及應(yīng)用——基于SQLServer2000第三章關(guān)系數(shù)據(jù)庫第2頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系數(shù)據(jù)庫簡介提出關(guān)系模型的是美國IBM公司的E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式第3頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems第三章關(guān)系數(shù)據(jù)庫3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義3.2關(guān)系操作3.3關(guān)系的完整性3.4關(guān)系代數(shù)3.5小結(jié)第4頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義3.1.1關(guān)系3.1.2關(guān)系數(shù)據(jù)庫第5頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.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)是一張二維表第6頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))⒈域(Domain)2.笛卡爾積(CartesianProduct)3.關(guān)系(Relation)第7頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems⒈域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)長度指定長度的字符串集合{‘男’,‘女’}……………..第8頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems2.笛卡爾積(CartesianProduct)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。

D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di

Di,i=1,2,…,n}所有域的所有取值的一個組合不能重復(fù)第9頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems笛卡爾積(續(xù))

元組(Tuple)笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組(Tuple)(張清玫,計算機專業(yè),李勇)、(張清玫,計算機專業(yè),劉晨)等都是元組

分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量張清玫、計算機專業(yè)、李勇、劉晨等都是分量

第10頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems笛卡爾積(續(xù))笛卡爾積的表示方法笛卡爾積可表示為一個二維表表中的每行對應(yīng)一個元組,表中的每列對應(yīng)一個域第11頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems

第12頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.關(guān)系(Relation)1)關(guān)系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為

R(D1,D2,…,Dn)

R:關(guān)系名n:關(guān)系的目或度(Degree)第13頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))2)關(guān)系的表示關(guān)系也是一個二維表,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域第14頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))3)屬性關(guān)系中不同列可以對應(yīng)相同的域為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)n目關(guān)系必有n個屬性第15頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))4)碼候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選碼簡單的情況:候選碼只包含一個屬性全碼(All-key)最極端的情況:關(guān)系模式的所有屬性組是這個關(guān)系模式的候選碼,稱為全碼(All-key)第16頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))碼(續(xù))主碼若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primarykey)主屬性候選碼的諸屬性稱為主屬性(Primeattribute)不包含在任何侯選碼中的屬性稱為非主屬性(Non-Primeattribute)或非碼屬性(Non-keyattribute)第17頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))D1,D2,…,Dn的笛卡爾積的某個子集才有實際含義例:表2.1的笛卡爾積沒有實際意義取出有實際意義的元組來構(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è),王敏)}第18頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系(續(xù))5)基本關(guān)系的性質(zhì)列的個數(shù)和每列的數(shù)據(jù)類型是固定的,即每一列中的分量是同類型的數(shù)據(jù),來自同一個值域。每一分量必須是不可分的最小數(shù)據(jù)項,即每個屬性都是不可再分解的,這是關(guān)系數(shù)據(jù)庫對關(guān)系的最基本的限定。不同的列可以出自同一個值域,每一列稱為屬性,每個屬性要給予不同的屬性名。列的順序是無關(guān)緊要的,即列的次序可以任意交換,但一定是整體交換,屬性名和屬性值必須作為整列同時交換。行的順序是無關(guān)緊要的,即行的次序可以任意交換。元組不可以重復(fù),即在一個關(guān)系中任意兩個元組不能完全一樣。

第19頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)3.1.1關(guān)系3.1.2關(guān)系數(shù)據(jù)庫第20頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.1.2關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫在一個給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫第21頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems第三章關(guān)系數(shù)據(jù)庫3.1關(guān)系模型概述3.2關(guān)系操作3.3關(guān)系的完整性3.4關(guān)系代數(shù)3.5關(guān)系演算3.6小結(jié)第22頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.2.1基本關(guān)系操作

常用的關(guān)系操作傳統(tǒng)的集合運算

并(Union)交(Intersection)差(Difference)廣義笛卡爾積(ExtendedCartesianProduct)

專門的關(guān)系運算選擇(Select)投影(Project)連接(Join)除(Divide)有關(guān)的數(shù)據(jù)操作查詢(Query)插入(Insert)刪除(Delete)修改(Update)關(guān)系代數(shù)的特點集合操作方式:操作的對象和結(jié)果都是集合,一次一集合的方式第23頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems第三章關(guān)系數(shù)據(jù)庫3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義3.2關(guān)系操作3.3關(guān)系的完整性3.4關(guān)系代數(shù)3.5小結(jié)第24頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems2.3關(guān)系的完整性2.3.1關(guān)系的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性第25頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3.1關(guān)系的三類完整性約束在數(shù)據(jù)庫中數(shù)據(jù)完整性是指保證數(shù)據(jù)正確的特性。它包括兩方面的內(nèi)容:

與現(xiàn)實世界中應(yīng)用需求的數(shù)據(jù)的相容性和正確性;數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的相容性和正確性。

在關(guān)系數(shù)據(jù)模型中一般將數(shù)據(jù)完整性分為三類

實體完整性參照完整性用戶定義完整性

第26頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3關(guān)系的完整性3.3.1關(guān)系的三類完整性約束3.3.2實體完整性3.3.3參照完整性3.3.4用戶定義的完整性第27頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3.2實體完整性規(guī)則3.1實體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值

例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主碼(假設(shè)研究生不會重名)不能取空值第28頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems實體完整性(續(xù))實體完整性規(guī)則的說明實體完整性規(guī)則是針對關(guān)系而言的,而關(guān)系則對應(yīng)一個現(xiàn)實世界中的實體集。例如,倉庫關(guān)系對應(yīng)現(xiàn)實世界中的倉庫實體集?,F(xiàn)實世界中的實體是可區(qū)分的,它們具有某種標(biāo)識特征;相應(yīng)地,關(guān)系中的元組也是可區(qū)分的,在關(guān)系中用主關(guān)鍵字做唯一性標(biāo)識。主關(guān)鍵字中的屬性、即主屬性不能取空值。如果主屬性取空值,則意味著關(guān)系中的某個元組是不可標(biāo)識的,即存在不可區(qū)分的實體,這與實體的定義也是矛盾的。第29頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3關(guān)系的完整性3.3.1關(guān)系的三類完整性約束3.3.2實體完整性3.3.3參照完整性3.3.4用戶定義的完整性第30頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3.3參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)則第31頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems1.關(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è)的記錄。第32頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系間的引用(續(xù))例2學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)第33頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系間的引用(續(xù))例3學(xué)生實體及其內(nèi)部的一對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)“學(xué)號”是主碼,“班長”是外碼,它引用了本關(guān)系的“學(xué)號”“班長”必須是確實存在的學(xué)生的學(xué)號

第34頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems2.外碼(ForeignKey)設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼基本關(guān)系R稱為參照關(guān)系(ReferencingRelation)基本關(guān)系S稱為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)第35頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems外碼(續(xù))[例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)系

第36頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems外碼(續(xù))[例2]:選修關(guān)系的“學(xué)號”與學(xué)生關(guān)系的主碼“學(xué)號”相對應(yīng)選修關(guān)系的“課程號”與課程關(guān)系的主碼“課程號”相對應(yīng)“學(xué)號”和“課程號”是選修關(guān)系的外碼學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系選修關(guān)系為參照關(guān)系第37頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems外碼(續(xù))[例3]:“班長”與本身的主碼“學(xué)號”相對應(yīng)“班長”是外碼學(xué)生關(guān)系既是參照關(guān)系也是被參照關(guān)系

第38頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems外碼(續(xù))關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(或一組)域上外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時,往往取相同的名字,以便于識別第39頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.參照完整性規(guī)則規(guī)則3.2參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值第40頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems參照完整性規(guī)則(續(xù))[例1]:學(xué)生關(guān)系中每個元組的“專業(yè)號”屬性只取兩類值:(1)空值,表示尚未給該學(xué)生分配專業(yè)(2)非空值,這時該值必須是專業(yè)關(guān)系中某個元組的“專業(yè)號”值,表示該學(xué)生不可能分配一個不存在的專業(yè)第41頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems參照完整性規(guī)則(續(xù))〔例2〕:選修(學(xué)號,課程號,成績)“學(xué)號”和“課程號”可能的取值:(1)選修關(guān)系中的主屬性,不能取空值(2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值第42頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems參照完整性規(guī)則(續(xù))例3〕:學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學(xué)生所在班級尚未選出班長(2)非空值,該值必須是本關(guān)系中某個元組的學(xué)號值第43頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems關(guān)系的完整性(續(xù))3.3.1關(guān)系的三類完整性約束3.3.2實體完整性3.3.3參照完整性3.3.4用戶定義的完整性第44頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.3.4用戶定義的完整性針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求關(guān)系模型應(yīng)提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能第45頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems用戶定義的完整性(續(xù))例: 課程(課程號,課程名,學(xué)分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}第46頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems第三章關(guān)系數(shù)據(jù)庫3.1關(guān)系模型概述3.2關(guān)系數(shù)據(jù)結(jié)構(gòu)3.3關(guān)系的完整性3.4關(guān)系代數(shù)3.5小結(jié)第47頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.4關(guān)系代數(shù)

概述傳統(tǒng)的集合運算專門的關(guān)系運算第48頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems集合運算符∪-∩×并差交笛卡爾積比較運算符>≥<≤=<>大于大于等于小于小于等于等于不等于運算符含義運算符含義表3.4關(guān)系代數(shù)運算符

概述第49頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems專門的關(guān)系運算符σπ

÷選擇投影連接除邏輯運算符

∧∨非與或運算符含義運算符含義表3.4關(guān)系代數(shù)運算符(續(xù))

概述(續(xù))第50頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.4關(guān)系代數(shù)

概述

傳統(tǒng)的集合運算

專門的關(guān)系運算第51頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems1.并(Union)R和S具有相同的目n(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域R∪S

仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成R∪S={t|t

R∨t

S}第52頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems并(續(xù))第53頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems2.差(Difference)R和S具有相同的目n相應(yīng)的屬性取自同一個域R-S

仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成

R-S={t|t

R∧t

S}第54頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems差(續(xù))第55頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.交(Intersection)R和S具有相同的目n相應(yīng)的屬性取自同一個域R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成 R∩S={t|t

R∧t

S} R∩S=R–(R-S)第56頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems交(續(xù))第57頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems4.笛卡爾積(CartesianProduct)嚴(yán)格地講應(yīng)該是廣義的笛卡爾積(ExtendedCartesianProduct)R:n目關(guān)系,k1個元組S:m目關(guān)系,k2個元組R×S

列:(n+m)列元組的集合元組的前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組行:k1×k2個元組R×S={tr

ts|tr

R∧ts

S}第58頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems交(續(xù))第59頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.4關(guān)系代數(shù)概述傳統(tǒng)的集合運算專門的關(guān)系運算第60頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems3.4.2專門的關(guān)系運算選擇投影連接除第61頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇運算選擇運算是從指定的關(guān)系中選擇某些元組形成一個新的關(guān)系,被選擇的元組是用滿足某個邏輯條件來指定的。選擇運算表示為:其中R是關(guān)系名,σ是選擇運算符,F(xiàn)是邏輯表達(dá)式。第62頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇(續(xù))選擇運算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,是從行的角度進(jìn)行的運算σ第63頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇運算舉例:σ職工號="E3"(訂購單)訂購單關(guān)系從訂購單關(guān)系中選擇職工號為“E3”的元組構(gòu)成新的關(guān)系第64頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems專門的關(guān)系運算(a)

Student1)學(xué)生-課程數(shù)據(jù)庫:學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC學(xué)號Sno姓名Sname性別Ssex年齡Sage所在系Sdept200215121李勇男20CS200215122劉晨女19IS200215123王敏女18MA200215125張立男19IS第65頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems專門的關(guān)系運算(續(xù))課程號Cno課程名Cname先行課Cpno學(xué)分Ccredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64Course(b)第66頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems專門的關(guān)系運算(續(xù))

(c)SC學(xué)號Sno課程號Cno成績Grade200215121192200215121285200215121388200215122290200215122380第67頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇(續(xù))[例1]查詢信息系(IS系)全體學(xué)生

σSdept

='IS'(Student)

或σ5='IS'(Student)

結(jié)果:SnoSnameSsexSageSdept200215122劉晨女19IS200215125張立男19IS第68頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇(續(xù))[例2]查詢年齡小于20歲的學(xué)生 σSage<20(Student) 或σ4<20(Student) 結(jié)果:

SnoSnameSsexSageSdept200215122劉晨女19IS200215123王敏女18MA200215125張立男19IS第69頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影運算1)選擇指定的屬性,形成一個可能含有重復(fù)行的表格;2)刪除重復(fù)行,形成新的關(guān)系。投影運算對指定的關(guān)系進(jìn)行投影操作,根據(jù)該關(guān)系分兩步產(chǎn)生一個新關(guān)系:第70頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影(Projection)投影操作主要是從列的角度進(jìn)行運算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)π第71頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影運算表示為其中R是關(guān)系名,π是投影運算符,A是被投影的屬性或?qū)傩约?。?2頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影運算舉例:訂購單關(guān)系選取職工號和供應(yīng)商號兩列構(gòu)成新的關(guān)系π職工號,供應(yīng)商號(訂購單)第73頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影(續(xù))[例3]查詢學(xué)生的姓名和所在系即求Student關(guān)系上學(xué)生姓名和所在系兩個屬性上的投影πSname,Sdept(Student) 或π2,5(Student)結(jié)果:第74頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影(續(xù))SnameSdept李勇CS劉晨IS王敏MA張立IS第75頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems投影(續(xù))[例4]查詢學(xué)生關(guān)系Student中都有哪些系

πSdept(Student) 結(jié)果:SdeptCSISMA第76頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems選擇和投影運算舉例:從訂購單關(guān)系中,選取出職工號為E3的所經(jīng)手的訂購單號和與之相關(guān)的供應(yīng)商號。訂購單關(guān)系π供應(yīng)商號,訂購單號(σ職工號="E3"(訂購單))第77頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems連接運算連接運算是將滿足兩個表之間運算關(guān)系的記錄連接成一條記錄,所有這樣的記錄構(gòu)成新的表(連接運算的結(jié)果)。連接運算可以表示為:這里Ai是R中的屬性,Bj是S中的屬性,θ是關(guān)系(比較)運算符,連接的結(jié)果是一個廣義笛卡兒乘積的子集,其中的元組滿足Ai和Bj間的θ關(guān)系。當(dāng)θ為“=”時,稱為等值連接;θ為“<”時,稱為小于連接;θ為“>”時,稱為大于連接等等。第78頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems自然連接

在連接運算中最常用的連接是自然連接。自然連接運算一般表示為:

其中Ai和Bj要出自同一個值域,并且在實際應(yīng)用中這兩個屬性往往具有相同的屬性名。

第79頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems自然連接做了三件事:計算廣義笛卡爾積R×S;選擇滿足條件r[Ai]=s[Bj]的所有元組;去掉重復(fù)的屬性。第80頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems自然連接的例子第81頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems連接(續(xù))[例5]關(guān)系R和關(guān)系S如下所示:第82頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems連接(續(xù))一般連接RS的結(jié)果如下:

C<E第83頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems連接(續(xù))等值連接R

S的結(jié)果如下:R.B=S.B

第84頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems連接(續(xù))

自然連接R

S的結(jié)果如下:

第85頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems綜合運算實例根據(jù)以上關(guān)系求出在上海工作的職工的工資值都有哪些?倉庫職工關(guān)系代數(shù)語句為:第86頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems查詢過程示意選擇運算自然連接運算投影運算第87頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems注意自然連接和等值連接很相象,但它們不同,自然連接要去掉重復(fù)的屬性,而等值連接卻不需要去掉重復(fù)的屬性。第88頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductiontoDatabaseSystems除運算

設(shè)有關(guān)系R(X,Y)和S(Y),其中X、Y可以是單個屬性或?qū)傩约?,則除法運算定義為:如何理解除運算?第89頁,課件共102頁,創(chuàng)作于2023年2月AnIntroductionto

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論