數(shù)據(jù)庫原理與應(yīng)用(SQL Server)課件 Ch3 關(guān)系數(shù)據(jù)庫_第1頁
數(shù)據(jù)庫原理與應(yīng)用(SQL Server)課件 Ch3 關(guān)系數(shù)據(jù)庫_第2頁
數(shù)據(jù)庫原理與應(yīng)用(SQL Server)課件 Ch3 關(guān)系數(shù)據(jù)庫_第3頁
數(shù)據(jù)庫原理與應(yīng)用(SQL Server)課件 Ch3 關(guān)系數(shù)據(jù)庫_第4頁
數(shù)據(jù)庫原理與應(yīng)用(SQL Server)課件 Ch3 關(guān)系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《數(shù)據(jù)庫原理與應(yīng)用》第3章關(guān)系數(shù)據(jù)庫1第三章內(nèi)容提要關(guān)系數(shù)據(jù)結(jié)構(gòu)3.1關(guān)系操作3.2關(guān)系完整性3.32邏

關(guān)系代數(shù)輯數(shù)據(jù)3.4內(nèi)容導(dǎo)學(xué)3學(xué)習(xí)目標(biāo)掌握關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義熟悉關(guān)系操作和關(guān)系數(shù)據(jù)語言的分類掌握關(guān)系的三類完整性學(xué)會關(guān)系代數(shù)的表示方法學(xué)習(xí)重點(diǎn)關(guān)系的定義、性質(zhì)和關(guān)系模式關(guān)系的三類完整性約束的具體應(yīng)用專門的關(guān)系運(yùn)算的應(yīng)用思政導(dǎo)學(xué)4關(guān)鍵詞:關(guān)系模型,關(guān)系模式,完整性約束,關(guān)系代數(shù)。內(nèi)容要意:關(guān)系數(shù)據(jù)庫系統(tǒng)是基于關(guān)系模型的數(shù)據(jù)庫系統(tǒng),也是目前使用最廣泛的數(shù)據(jù)庫系統(tǒng)。關(guān)系模型是建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上的,關(guān)系的三類完整性約束是為了保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和有效性。關(guān)系代數(shù)是一種抽象的查詢語言,用對關(guān)系的運(yùn)算來表達(dá)查詢,作為研究關(guān)系數(shù)據(jù)語言的數(shù)學(xué)工具。思政點(diǎn)播:結(jié)合大學(xué)生項(xiàng)目管理數(shù)據(jù)庫實(shí)例,介紹關(guān)系的三類完整性約束的具體應(yīng)用,使學(xué)生能夠根據(jù)實(shí)際問題進(jìn)行分析;介紹關(guān)系代數(shù)的表達(dá)方法,讓學(xué)生體會關(guān)系代數(shù)運(yùn)算的嚴(yán)謹(jǐn)性和科學(xué)性。思政目標(biāo):通過對完整性約束和關(guān)系代數(shù)表達(dá)式的講解和具體應(yīng)用,培養(yǎng)學(xué)生科學(xué)嚴(yán)謹(jǐn)?shù)倪壿嬎季S,根據(jù)具體問題進(jìn)行具體分析,培養(yǎng)學(xué)生的探索和創(chuàng)新精神。關(guān)系數(shù)據(jù)庫簡介關(guān)系數(shù)據(jù)庫系統(tǒng)是基于關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。1970年,美國IBM公司的E.F.Codd系統(tǒng)地提出了關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫系統(tǒng)的新紀(jì)元。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三要素組成。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)描述了現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的聯(lián)系。也就是說,在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的聯(lián)系均用關(guān)系來表示。3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)3.1.1關(guān)系的定義與性質(zhì)3.1.2關(guān)系模式3.1.3關(guān)系數(shù)據(jù)庫3.1.1關(guān)系的定義與性質(zhì)單一的數(shù)據(jù)結(jié)構(gòu)----關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示邏輯結(jié)構(gòu)----二維表

從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,但不是所有的二維表都叫關(guān)系。建立在集合代數(shù)的基礎(chǔ)上關(guān)系的定義與性質(zhì)(續(xù))1.域(Domain)

2.笛卡兒積(CartesianProduct)

3.關(guān)系(Relation)1.域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)指定長度的字符串集合{‘男’,‘女’}……………..2.

笛卡兒積(CartesianProduct)笛卡兒積給定一組域D1,D2,…,Dn,允許其中某些域是相同的。

D1,D2,…,Dn的笛卡兒積為:

D1×D2×…×Dn={(d1,d2,…,dn)|di

Di,i=1,2,…,n}所有域的所有取值的一個(gè)組合不能重復(fù)笛卡兒積(續(xù))

元組(Tuple)笛卡兒積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡稱元組(李輝,經(jīng)濟(jì)學(xué)院)、(趙嵐,計(jì)算機(jī)學(xué)院)等都是元組

分量(Component)笛卡兒積元素(d1,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量李輝、經(jīng)濟(jì)學(xué)院等都是分量

笛卡兒積(續(xù))基數(shù)(Cardinalnumber)一個(gè)域允許的不同取值個(gè)數(shù)稱為這個(gè)域的基數(shù)。若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:笛卡兒積的表示方法笛卡爾積可表示為一張二維表表中的每行對應(yīng)一個(gè)元組,表中的每列對應(yīng)一個(gè)域笛卡兒積(續(xù))例如,給出2個(gè)域:D1=學(xué)生集合={李輝,趙嵐,王翊},D2=學(xué)生所在學(xué)院集合={計(jì)算機(jī)學(xué)院,經(jīng)濟(jì)學(xué)院}D1,D2的笛卡爾積為:D1×D2={(李輝,計(jì)算機(jī)學(xué)院),(趙嵐,計(jì)算機(jī)學(xué)院),(王翊,計(jì)算機(jī)學(xué)院),(李輝,經(jīng)濟(jì)學(xué)院),(趙嵐,經(jīng)濟(jì)學(xué)院),(王翊,經(jīng)濟(jì)學(xué)院)}。基數(shù)為3×2=6

笛卡爾積(續(xù))學(xué)生所在學(xué)院李輝計(jì)算機(jī)學(xué)院趙嵐計(jì)算機(jī)學(xué)院王翊計(jì)算機(jī)學(xué)院李輝經(jīng)濟(jì)學(xué)院趙嵐經(jīng)濟(jì)學(xué)院王翊經(jīng)濟(jì)學(xué)院

笛卡兒積(續(xù))3.關(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)關(guān)系(續(xù))(2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。(3)單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unaryrelation)或一元關(guān)系當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binaryrelation)關(guān)系(續(xù))(4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對應(yīng)一個(gè)元組,表的每列對應(yīng)一個(gè)域.(5)屬性關(guān)系中不同列可以對應(yīng)相同的域?yàn)榱思右詤^(qū)分,必須對每列起一個(gè)名字,稱為屬性(Attribute)n目關(guān)系必有n個(gè)屬性關(guān)系(續(xù))(6)碼候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個(gè)元組,則稱該屬性組為候選碼簡單的情況:候選碼只包含一個(gè)屬性全碼(All-key)最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)關(guān)系(續(xù))(6)碼(續(xù))主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey),一個(gè)關(guān)系中只有一個(gè)主碼。主屬性包含在候選碼中的屬性稱為主屬性(Primeattribute)不包含在任何侯選碼中的屬性稱為非主屬性(Non-Primeattribute)或非碼屬性(Non-keyattribute)關(guān)系(續(xù))D1,D2,…,Dn的笛卡兒積的某個(gè)子集才有實(shí)際含義例:表3.1的笛卡爾積沒有實(shí)際意義取出有實(shí)際意義的元組來構(gòu)造學(xué)生-學(xué)院關(guān)系假設(shè):學(xué)生與學(xué)院:n:1,一個(gè)學(xué)生只屬于一個(gè)學(xué)院。學(xué)生所在學(xué)院李輝計(jì)算機(jī)學(xué)院趙嵐經(jīng)濟(jì)學(xué)院王翊計(jì)算機(jī)學(xué)院表3.2學(xué)生-學(xué)院關(guān)系關(guān)系(續(xù))(7)三類關(guān)系基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實(shí)際存儲的數(shù)據(jù)關(guān)系(續(xù))(8)關(guān)系的性質(zhì)①列是同質(zhì)的,即每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。②不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名③同一關(guān)系中,任意兩個(gè)元組不能相同④列的順序無所謂,列的次序可以任意交換關(guān)系的性質(zhì)(續(xù))⑤行的順序無所謂,行的次序可以任意交換⑥分量必須取原子值這是規(guī)范條件中最基本的一條

表3.3非規(guī)范化關(guān)系小表學(xué)生所在學(xué)院學(xué)生1學(xué)生2李輝王翊計(jì)算機(jī)學(xué)院趙嵐

經(jīng)濟(jì)學(xué)院3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)3.1.1關(guān)系3.1.2關(guān)系模式3.1.3關(guān)系數(shù)據(jù)庫3.1.2關(guān)系模式1.什么是關(guān)系模式2.定義關(guān)系模式3.關(guān)系模式與關(guān)系1.什么是關(guān)系模式關(guān)系模式(RelationSchema)是型關(guān)系是值關(guān)系模式是對關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(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ù))關(guān)系模式通??梢院営洖?/p>

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)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往籠統(tǒng)稱為關(guān)系通過上下文加以區(qū)別3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)3.1.1關(guān)系3.1.2關(guān)系模式3.1.3關(guān)系數(shù)據(jù)庫3.1.3關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(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)系模式在某一時(shí)刻對應(yīng)的關(guān)系的集合,通常稱為關(guān)系數(shù)據(jù)庫第三章關(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.2.1基本的關(guān)系操作

常見的關(guān)系操作:查詢、插入、刪除和修改四種操作又可以分為兩大類:數(shù)據(jù)查詢:選擇、投影、連接、除、并、交、差、笛卡兒積。數(shù)據(jù)更新:插入、刪除、修改。選擇、投影、并、差、笛卡兒積是5種基本操作關(guān)系操作的特點(diǎn)集合操作方式:操作的對象和結(jié)果都是集合。3.2.2關(guān)系數(shù)據(jù)庫語言的分類

關(guān)系代數(shù)語言用對關(guān)系的運(yùn)算來表達(dá)查詢要求代表:ISBL關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量代表:APLHA,QUEL域關(guān)系演算語言謂詞變元的基本對象是域變量代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言代表:SQL(StructuredQueryLanguage)第三章關(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ù)關(guān)系的三類完整性約束實(shí)體完整性和參照完整性關(guān)系模型必須滿足的完整性約束條件稱為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動支持用戶定義的完整性應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束3.3關(guān)系的完整性3.3.1實(shí)體完整性3.3.2參照完整性3.3.3用戶定義的完整性3.3.1實(shí)體完整性

實(shí)體完整性規(guī)則若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值空值就是“不知道”或“不存在”的值

例:學(xué)生(學(xué)號,姓名,性別,年齡,學(xué)院編號)關(guān)系中學(xué)號為主碼,則學(xué)號不能取空值。如果主碼由若干屬性組成,則所有這些主屬性都不能取空值。例:參與(學(xué)號,項(xiàng)目編號,時(shí)間,獎項(xiàng),指導(dǎo)教師,備注)關(guān)系中,“學(xué)號、項(xiàng)目編號”為主碼,則“學(xué)號”和“項(xiàng)目編號”兩個(gè)屬性都不能取空值。實(shí)體完整性(續(xù))實(shí)體完整性規(guī)則的說明(1)實(shí)體完整性規(guī)則是針對基本關(guān)系而言的。一個(gè)基本表通常對應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。(2)現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識。(3)關(guān)系模型中以主碼作為唯一性標(biāo)識。(4)主碼中的屬性即主屬性不能取空值。主屬性取空值,就說明存在某個(gè)不可標(biāo)識的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性3.3關(guān)系的完整性3.3.1實(shí)體完整性3.3.2參照完整性3.3.3用戶定義的完整性3.3.2參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)則1.關(guān)系間的引用現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的。關(guān)系的外碼體現(xiàn)了關(guān)系與關(guān)系的聯(lián)系,也存在著關(guān)系與關(guān)系之間的引用。2.外碼(ForeignKey)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是R的外碼基本關(guān)系R稱為參照關(guān)系(ReferencingRelation)基本關(guān)系S稱為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)外碼(續(xù))[例3.1]學(xué)生實(shí)體和學(xué)院實(shí)體可以用下面的關(guān)系來表示,其中主碼用下劃線標(biāo)識。學(xué)生(學(xué)號,姓名,性別,年齡,學(xué)院編號)學(xué)院(學(xué)院編號,學(xué)院名稱,學(xué)院負(fù)責(zé)人,辦公電話)學(xué)生關(guān)系的“學(xué)院編號”與學(xué)院關(guān)系的主碼“學(xué)院編號”相對應(yīng)?!皩W(xué)院編號”屬性是學(xué)生關(guān)系的外碼。學(xué)院關(guān)系為被參照關(guān)系或目標(biāo)關(guān)系,學(xué)生關(guān)系為參照關(guān)系。外碼(續(xù))[例3.2]學(xué)生、項(xiàng)目、學(xué)生與項(xiàng)目之間的多對多聯(lián)系可以用如下三個(gè)關(guān)系表示:學(xué)生(學(xué)號,姓名,性別,年齡,學(xué)院編號)項(xiàng)目(項(xiàng)目編號,項(xiàng)目名稱,項(xiàng)目類型)參與(學(xué)號,項(xiàng)目編號,時(shí)間,獎項(xiàng),指導(dǎo)教師,備注)參與關(guān)系的“學(xué)號”與學(xué)生關(guān)系的主碼“學(xué)號”相對應(yīng);參與關(guān)系的“項(xiàng)目編號”與項(xiàng)目關(guān)系的主碼“項(xiàng)目編號”相對應(yīng),“學(xué)號”和“項(xiàng)目編號”屬性是參與關(guān)系的外碼。學(xué)生關(guān)系和項(xiàng)目關(guān)系均為被參照關(guān)系或目標(biāo)關(guān)系,參與關(guān)系為參照關(guān)系。外碼(續(xù))[例3.3]學(xué)生(學(xué)號,姓名,性別,年齡,學(xué)院編號,班長)關(guān)系中,學(xué)號是主碼,“班長”屬性表示該學(xué)生所在班級的班長學(xué)號?!鞍嚅L”與本身的主碼“學(xué)號”相對應(yīng)“班長”是外碼學(xué)生關(guān)系既是參照關(guān)系也是被參照關(guān)系外碼(續(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í),往往取相同的名字,以便于識別。3.參照完整性規(guī)則

參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值參照完整性規(guī)則(續(xù))[例3.1]中學(xué)生關(guān)系中每個(gè)元組的“學(xué)院編號”屬性只取兩類值:(1)空值,表示尚未給該學(xué)生分配學(xué)院。(2)非空值,這時(shí)該值必須是學(xué)院關(guān)系中某個(gè)元組的“學(xué)院編號”值,表示該學(xué)生不可能分配一個(gè)不存在的學(xué)院。參照完整性規(guī)則(續(xù))[例3.2]中參與(學(xué)號,項(xiàng)目編號,時(shí)間,獎項(xiàng),指導(dǎo)老師,備注)“學(xué)號”和“項(xiàng)目編號”可能的取值:(1)參與關(guān)系中的主屬性,不能取空值。(2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。參照完整性規(guī)則(續(xù))[例3.3]中學(xué)生(學(xué)號,姓名,性別,年齡,學(xué)院編號,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學(xué)生所在班級尚未選出班長。(2)非空值,該值必須是本關(guān)系中某個(gè)元組的學(xué)號值。3.3關(guān)系的完整性3.3.1實(shí)體完整性3.3.2參照完整性3.3.3用戶定義的完整性3.3.3用戶定義的完整性針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需由應(yīng)用程序承擔(dān)這一功能。用戶定義的完整性(續(xù))例3.2學(xué)生關(guān)系中,“學(xué)號”屬性必須取唯一值;非主屬性“性別”為“男”或“女”;“年齡”屬性取值大于0。第三章關(guān)系數(shù)據(jù)庫3.1關(guān)系數(shù)據(jù)結(jié)構(gòu)3.2關(guān)系數(shù)據(jù)操作3.3關(guān)系的完整性3.4關(guān)系代數(shù)3.4關(guān)系代數(shù)關(guān)系代數(shù)是一種抽象的查詢語言,它用對關(guān)系的運(yùn)算來表達(dá)查詢關(guān)系代數(shù)運(yùn)算對象是關(guān)系運(yùn)算結(jié)果亦為關(guān)系關(guān)系代數(shù)的運(yùn)算符有兩類:集合運(yùn)算符和專門的關(guān)系運(yùn)算符傳統(tǒng)的集合運(yùn)算是從關(guān)系的“水平”方向即行的角度進(jìn)行專門的關(guān)系運(yùn)算不僅涉及行而且涉及列3.4關(guān)系代數(shù)關(guān)系代數(shù)運(yùn)算符類型運(yùn)算符含義集合運(yùn)算符∪并差∩交笛卡兒積專門的關(guān)系運(yùn)算符選擇投影連接除

3.4關(guān)系代數(shù)3.4關(guān)系代數(shù)3.4.1

傳統(tǒng)的集合運(yùn)算3.4.2

專門的關(guān)系運(yùn)算(1)并(Union)R和S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域R∪S

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

R∪S={t|t

R∨t

S}并(續(xù))ABC123456789ABC123456789101112ABC456789101112RSRUS(2)差(Difference)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R-S

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

R-S={t|t

R∧t

S}差(續(xù))ABC123RSR-SABC123456789ABC456789101112(3)交(Intersection)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成

R∩S={t|t

R∧t

S} R∩S=R–(R-S)交(續(xù))ABC456789RSR∩SABC123456789ABC456789101112(4)笛卡兒積(CartesianProduct)嚴(yán)格地講應(yīng)該是廣義的笛卡兒積(ExtendedCartesianProduct)R:n目關(guān)系,k1個(gè)元組S:m目關(guān)系,k2個(gè)元組R×S

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

ts|tr

R∧ts

S}笛卡兒積(續(xù))R.AR.BR.CS.AS.BS.C123456123789123101112456456456789456101112789456789789789101112RSR×SABC123456789ABC4567891011123.4關(guān)系代數(shù)3.4.1傳統(tǒng)的集合運(yùn)算3.4.2專門的關(guān)系運(yùn)算3.4.2專門的關(guān)系運(yùn)算先引入幾個(gè)記號(1)R,t

R,t[Ai]

設(shè)關(guān)系模式為R(A1,A2,…,An)

它的一個(gè)關(guān)系設(shè)為R

t

R表示t是R的一個(gè)元組

t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量

專門的關(guān)系運(yùn)算(續(xù))(2)A,t[A],A

若A={A1,A2,…,Ak},其中A1,A2,…,Ak是A1,A2,…,An中的一部分,則A稱為屬性列或?qū)傩越M。

t[A]=(t[A1],t[A2],…,t[Ak])表示元組t在屬性列A上諸分量的集合。

A則表示{A1,A2,…,An}中去掉{A1,A2,…,Ak}后剩余的屬性組。專門的關(guān)系運(yùn)算(續(xù))(3)trtsR為n目關(guān)系,S為m目關(guān)系。

tr

R,ts

S,trts稱為元組的連接。

trts是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。專門的關(guān)系運(yùn)算(續(xù))1.選擇2.投影3.連接4.除專門的關(guān)系運(yùn)算(續(xù))

Student大學(xué)生項(xiàng)目管理數(shù)據(jù)庫:學(xué)生關(guān)系Student、學(xué)院關(guān)系Department、項(xiàng)目關(guān)系Project和參與關(guān)系SP。學(xué)號Sno姓名Sname性別Ssex年齡Sage所在學(xué)院DnoS202301011李輝男20DP02S202301012張昊男18DP03S202301013王翊女21DP02S202301014趙嵐女19DP01S202301015韋峰男20DP04S202301016劉瑤瑤男18DP03S202301017陳恪男22DP02專門的關(guān)系運(yùn)算(續(xù))Department學(xué)院號Dno學(xué)院名Dname院長Dprexy電話DphoneDP01經(jīng)濟(jì)學(xué)院張長弓81660128DP02計(jì)算機(jī)學(xué)院李嵐春81660148DP03數(shù)學(xué)學(xué)院趙聰81660168DP04管理學(xué)院朱照81660188專門的關(guān)系運(yùn)算(續(xù))Project項(xiàng)目號Pno項(xiàng)目名稱Pname項(xiàng)目類型ProjecttypeP1001大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目學(xué)生大創(chuàng)項(xiàng)目P1002全國大學(xué)生數(shù)學(xué)建模競賽數(shù)學(xué)建模競賽P2003電子商務(wù)三創(chuàng)賽雙創(chuàng)競賽P2004基于深度學(xué)習(xí)的惡意軟件防御分析教師科研項(xiàng)目P3005全國信息安全與對抗技術(shù)競賽網(wǎng)絡(luò)安全競賽專門的關(guān)系運(yùn)算(續(xù))

SP學(xué)號Sno項(xiàng)目號Pno時(shí)間Times獲獎Awards指導(dǎo)教師Supervisor備注RemarkS202301012P30052022省二等獎周順

S202301011P20032020校二等獎顧明

S202301017P10022021省一等獎張載之

S202301012P20042023國家二等獎毛舜城

S202301011P10012023國家級項(xiàng)目立項(xiàng)殷開山

S202301014P30052022省一等獎朱毅

S202301011P20042021省部級立項(xiàng)項(xiàng)目王錫城

S202301015P10012022省級項(xiàng)目立項(xiàng)劉弼州

S202301016P10022021國家二等獎羅熠

S202301013P20032019國家二等獎鐘欒

1.選擇(Selection)選擇又稱為限制(Restriction)選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組

σF(R)={t|t

R∧F(t)='真'}F:選擇條件,是一個(gè)邏輯表達(dá)式,取值為“真”或“假”基本形式為:X1θY1θ表示比較運(yùn)算符,它可以是>,≥,<,≤,<>選擇(續(xù))選擇運(yùn)算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,是從行的角度進(jìn)行的運(yùn)算σ選擇(續(xù))

SnoSnameSsexSageDnoS202301013王翊女21DP02S202301017陳恪男22DP02選擇(續(xù))

SnoSnameSsexSageDnoS202301012張昊男18DP03S202301016劉瑤瑤男18DP032.投影(Projection)從R中選擇出若干屬性列組成新的關(guān)系

πA(R)={t[A]|t

R} A:R中的屬性列

投影操作主要是從列的角度進(jìn)行運(yùn)算投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)π投影(續(xù))[例3.6]查詢學(xué)生的學(xué)號和姓名。即求Student關(guān)系上學(xué)生學(xué)號和姓名兩個(gè)屬性上的投影πSno,Sname(Student)結(jié)果:SnoSnameS202301011李輝S202301012張昊S202301013王翊S202301014趙嵐S202301015韋峰S202301016劉瑤瑤S202301017陳恪投影(續(xù))[例3.7]查詢學(xué)生關(guān)系Student中都有哪些學(xué)院。

πDno(Student)

結(jié)果:DnoDP02DP03DP01DP043.連接(Join)連接也稱為θ連接連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組

RS={|tr

R∧ts

S∧tr[A]θts[B]}A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運(yùn)算符

連接運(yùn)算從R和S的廣義笛卡爾積R×S中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上的值滿足比較關(guān)系θ的元組

AθBtrts

連接(續(xù))兩類常用連接運(yùn)算等值連接(equijoin)θ為“=”的連接運(yùn)算稱為等值連接從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:

RS={|tr

R∧ts

S∧tr[A]=ts[B]}A=Btrts

連接(續(xù))自然連接(Naturaljoin)

自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是同名的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義

R和S具有相同的屬性組B

R

S={[U-B]|tr

R∧ts

S∧tr[B]=ts[B]}trts連接(續(xù))一般的連接操作是從行的角度進(jìn)行運(yùn)算。

自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。

AθBRS連接(續(xù))ABC1151262382412BE132731052RS[例3.8]關(guān)系R和關(guān)系S

如下所示:一般連接RS的結(jié)果?C<E

連接(續(xù))笛卡兒積R×S……一般連接等值連接AR.BCS.BE115131152711531011552126131262712631012652連接(續(xù))一般連接RS的結(jié)果如下:AR.BCS.BE1152711531012627126310238310

C<EABC1151262382412BE132731052RS連接(續(xù))

等值連接R

S的結(jié)果如下:AR.BCS.BE1151312627238310R.B=S.B

ABC1151262382412BE132731052RS連接(續(xù))

自然連接R

S的結(jié)果如下:

ABCE1153126723810

ABC1151262382412BE132731052RS自然聯(lián)接與等值聯(lián)接的區(qū)別(1)在做自然聯(lián)接的兩個(gè)關(guān)系中,要求值相等的屬性名也必須相等,而在等值聯(lián)接中不要求值相等的屬性名相等。(2)在自然聯(lián)接的結(jié)果中,去掉重復(fù)的屬性名,而在等值聯(lián)接的結(jié)果中不去掉重復(fù)的屬性名?!锶魞蓚€(gè)關(guān)系沒有公共屬性,則其自然聯(lián)接就轉(zhuǎn)化為笛卡兒積操作。連接(續(xù))懸浮元組(Danglingtuple)兩個(gè)關(guān)系R和S在做自然連接時(shí),關(guān)系R中某些元組有可能在S中不存在公共屬性上值相等的元組,從而造成R中這些元組在操作時(shí)被舍棄了,這些被舍棄的元組稱為懸浮元組。左邊兩個(gè)關(guān)系做自然連接后哪些元組成為懸浮元組?ABC1151262382412BE132731052RS連接(續(xù))外連接(OuterJoin)如果把懸浮元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),就叫做外連接左外連接(LEFTOUTERJOIN或LEFTJOIN)只保留左邊關(guān)系R中的懸浮元組右外連接(RIGHTOUTERJOIN或RIGHTJOIN)只保留右邊關(guān)系S中的懸浮元組連接(續(xù))ABCE11531267238102412NULLNULL5NULL2下圖是例3.8中關(guān)系R和關(guān)系S的外連接ABC1151262382412BE132731052RS連接(續(xù))ABCE11531267238102412NULLABCE1153126723810NULL5NULL2圖(b)是例3.8中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接圖(b)圖(c)ABC1151262382412BE132731052RS先給出象集Zx的概念:

給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|t

R,t[X]=x}

它表示R中屬性組X上值為x的諸元組在Z上分量的集合4.除運(yùn)算(Division)除運(yùn)算(續(xù))x1在R中的象集

Zx1

={Z1,Z2,Z3},x2在R中的象集

Zx2

={Z2,Z3},x3在R中的象集

Zx3={Z1,Z3}象集舉例4.除運(yùn)算(續(xù))給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:

R÷S={tr[X]|tr

R∧πY(S)

Yx}

Yx:x在R中的象集,x=tr[X]除運(yùn)算(續(xù))除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算

÷RS除運(yùn)算(續(xù))XYZx1y1z2x2y3z7x3y4z6x1y2z3x4y6z6x2y2z3x1y2z1[例3.9]設(shè)關(guān)系R、S分別為下圖的(a)和(b),R÷S的結(jié)果為圖(c)YZMy1z2m1y2z1m1y2z3m2RR÷SSXx1(a)(b)(c)除運(yùn)算(續(xù))在關(guān)系R中,X可以取四個(gè)值{x1,x2,x3,x4}x1的象集為{(y1,z2),(y2,z3),(y2,z1)}x2的象集為{(y3,z7),(y2,z3)}x3的象集為{(y4,z6)}x4的象集為{(y6,z6)}S在(Y,Z)上的投影為

{(y1,z2),(y2,z1),(y2,z3)}只有x1的象集包含了S在(Y,Z)屬性組上的投影所以R÷S={x1}練習(xí)設(shè)有關(guān)系R、S如圖所示,求R÷S的結(jié)果綜合舉例以大學(xué)生項(xiàng)目管理數(shù)據(jù)庫為例:

[例3.10]查詢至少參與了P2003和P2004號項(xiàng)目的學(xué)生學(xué)號。首先建立一個(gè)臨時(shí)關(guān)系K:

然后求:πSno,Pno(SP)÷K

PnoP2003P2004CourseSP學(xué)號Sno項(xiàng)目號Pno時(shí)間Times獲獎Awards指導(dǎo)教師Supervisor備注RemarkS202301012P30052022省二等獎周順

S202301011P20032020校二等獎顧明

S202301017P10022021省一等獎張載之

S202301012P20042023國家二等獎毛舜城

S202301011P10012023國家級項(xiàng)目立項(xiàng)殷開山

S202301014P30052022省一等獎朱毅

S202301011P20042021省部級立項(xiàng)項(xiàng)目王錫城

S202301015P10012022省級項(xiàng)目立項(xiàng)劉弼

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論