版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
關(guān)系數(shù)據(jù)庫理論基礎(chǔ)第一頁,共九十九頁,2022年,8月28日2第二章關(guān)系數(shù)據(jù)庫基礎(chǔ)2.1關(guān)系模型2.2關(guān)系的完整性2.3關(guān)系代數(shù)2.4小結(jié)第二頁,共九十九頁,2022年,8月28日3了解關(guān)系的數(shù)學(xué)定義、關(guān)系數(shù)據(jù)語言掌握關(guān)系的完整性理解關(guān)系模型的運(yùn)算理論掌握關(guān)系代數(shù)的五個基本操作,四個組合操作掌握關(guān)系代數(shù)表達(dá)式了解關(guān)系代數(shù)表達(dá)式的優(yōu)化【要求】第二章關(guān)系數(shù)據(jù)庫基礎(chǔ)第三頁,共九十九頁,2022年,8月28日42.1關(guān)系模型數(shù)據(jù)結(jié)構(gòu)2.1關(guān)系模型2.1.1關(guān)系模型概述2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語2.1.3關(guān)系基本性質(zhì)2.1.4關(guān)系模型的優(yōu)點(diǎn)第四頁,共九十九頁,2022年,8月28日52.1.1關(guān)系模型概述系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國IBM公司SanJose研究室的1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式第五頁,共九十九頁,2022年,8月28日6
△關(guān)系模型組成
關(guān)系操作集合關(guān)系完整性約束2.1.1關(guān)系模型概述用關(guān)系模型作為數(shù)據(jù)組織方式的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫應(yīng)用數(shù)學(xué)方法處理數(shù)據(jù)庫中的數(shù)據(jù)80年代后,關(guān)系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)典型的關(guān)系數(shù)據(jù)庫管理系統(tǒng):ORACLE、SYBASE、SQLSERVER、DB2等關(guān)系數(shù)據(jù)結(jié)構(gòu)第六頁,共九十九頁,2022年,8月28日71、域(Domain)
2、笛卡爾積(CartesianProduct)
3、關(guān)系(Relation)2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語第七頁,共九十九頁,2022年,8月28日81、域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)、實(shí)數(shù)介于某個取值范圍的整數(shù)指定長度的字符串集合學(xué)生性別的域是{男,女}D1={男,女}學(xué)生成績的集合是0~100的整數(shù)集合。D2=(0,1,2,…100}介于某個取值范圍的日期2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))第八頁,共九十九頁,2022年,8月28日92、笛卡爾積(CartesianProduct)1)笛卡爾積:給定一組域D1,D2,…,Dn,這些域中可以有相同的。
D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一個組合不能重復(fù)笛卡爾積可表示為一個二維表。表中的每列對應(yīng)一個域。2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))第九頁,共九十九頁,2022年,8月28日10例1:D1導(dǎo)師域
D2專業(yè)域
D3研究生域D1D2D3張清玫計(jì)算機(jī)李勇劉逸信息劉晨王敏D1xD2D3D1xD2xD3張清玫計(jì)算機(jī)李勇張清玫計(jì)算機(jī)李勇劉逸計(jì)算機(jī)x劉晨=劉逸計(jì)算機(jī)李勇張清玫信息王敏張清玫信息李勇劉逸信息劉逸信息李勇張清玫計(jì)算機(jī)劉晨劉逸計(jì)算機(jī)劉晨張清玫信息劉晨劉逸信息劉晨張清玫計(jì)算機(jī)王敏劉逸計(jì)算機(jī)王敏張清玫信息王敏劉逸信息王敏2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))第十頁,共九十九頁,2022年,8月28日112)元組(Tuple):笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple),簡稱元組。二維表中的每行對應(yīng)一個元組,3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量。2.1.2關(guān)系的數(shù)學(xué)定義與術(shù)語(續(xù))第十一頁,共九十九頁,2022年,8月28日124)基數(shù)(Cardinalnumber):元組的個數(shù)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個元組5)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應(yīng)一個元組,表中的每列對應(yīng)一個域。2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))第十二頁,共九十九頁,2022年,8月28日131)定義:D1×D2×…×Dn的子集稱為在域D1,D2,…Dn上的關(guān)系。記為:R(D1,D2,…Dn)D1XD2XD3張清玫計(jì)算機(jī)李勇劉逸計(jì)算機(jī)李勇張清玫信息李勇劉逸信息李勇張清玫計(jì)算機(jī)劉晨劉逸計(jì)算機(jī)劉晨張清玫信息劉晨劉逸信息劉晨張清玫計(jì)算機(jī)王敏劉逸計(jì)算機(jī)王敏張清玫信息王敏劉逸信息王敏R:關(guān)系名n:關(guān)系的目或度(Degree)3、關(guān)系2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))注意:關(guān)系是笛卡爾積的有限子集。無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的,在笛卡爾積中取出有實(shí)際意義的元組來構(gòu)造關(guān)系。第十三頁,共九十九頁,2022年,8月28日14舉例:2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))關(guān)系的表示:二維表,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域。關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。n目關(guān)系必有n個屬性。第十四頁,共九十九頁,2022年,8月28日15候選碼(Candidatekey)能惟一標(biāo)識一個元組,且又不含有多余屬性的屬性集.在最簡單的情況下,候選碼只包含一個屬性。全碼(All-key)在最極端的情況下,關(guān)系模式的所有屬性組是這個關(guān)系模式的候選碼,稱為全碼。主碼(Primarykey)若一個關(guān)系有多個候選碼,則選定其中一個為主碼候選碼的諸屬性稱為主屬性(Primeattribute),反之為非主屬性(Non-keyattribute)2)碼2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)定義與術(shù)語(續(xù))第十五頁,共九十九頁,2022年,8月28日162.1.3關(guān)系基本性質(zhì)1、列是同質(zhì)的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個域2、不同的列可出自同一個域其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名3、行、列的順序無所謂:可以任意交換4、任意兩個元組不能完全相同由笛卡爾積的性質(zhì)決定(關(guān)系中用主碼標(biāo)識元組)5、分量必須取原子值:每一個分量必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī)范條件中最基本的一條第十六頁,共九十九頁,2022年,8月28日17舉例:若屬性A1,A2分別在域D1,D2中取值(D1={1,2,3},D2={a,b}),問:R1,R2,R3是否為關(guān)系?R1是關(guān)系R2
,R3
不是關(guān)系2.1.3關(guān)系基本性質(zhì)(續(xù))第十七頁,共九十九頁,2022年,8月28日182.1.4關(guān)系模型的優(yōu)點(diǎn)關(guān)系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用實(shí)體和各類聯(lián)系都用關(guān)系表示可表示多對多網(wǎng)狀關(guān)系利用公共屬性連接語言表達(dá)簡練第十八頁,共九十九頁,2022年,8月28日192.2、關(guān)系完整性2.2.1關(guān)系的完整性2.2.2實(shí)體完整性2.2.3參照完整性2.2.4用戶定義的完整性第十九頁,共九十九頁,2022年,8月28日202.2.1關(guān)系的完整性關(guān)系模型的數(shù)據(jù)完整性規(guī)則是對關(guān)系的某種約束條件保證數(shù)據(jù)庫的數(shù)據(jù)與現(xiàn)實(shí)世界的一致性。即:防止數(shù)據(jù)庫中出現(xiàn)不符合語義的數(shù)據(jù)。完整性約束是關(guān)系數(shù)據(jù)庫模型的重要組成部分。由系統(tǒng)提供定義和檢驗(yàn)這類完整性的機(jī)制(非應(yīng)用程序),并且提供對違反約束的處理過程。第二十頁,共九十九頁,2022年,8月28日212.2.1關(guān)系的完整性(續(xù))
關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個不變性,由關(guān)系系統(tǒng)自動支持。第二十一頁,共九十九頁,2022年,8月28日222.2.2實(shí)體完整性(EntityIntegrity)實(shí)體完整性規(guī)則:
(1)主碼惟一標(biāo)識一元組△用主碼實(shí)現(xiàn)關(guān)系定義中“表中任意兩行(元組)不能相同的約束。(2)主碼不能取空值△空值:“不知道”或“無意義”的值。主屬性取空值,就說明存在某個不可標(biāo)識的實(shí)體,即存在不可區(qū)分的實(shí)體。“學(xué)號+課程號”為主碼,則兩個屬性都不能取空值。2.2.2實(shí)體完整性(EntityIntegrity)——對主碼的約束第二十二頁,共九十九頁,2022年,8月28日23關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因:(1)實(shí)體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實(shí)世界的一個實(shí)體集或多對多聯(lián)系。(2)現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識。關(guān)系模型中以主碼作為唯一性標(biāo)識。2.2.2實(shí)體完整性(續(xù))第二十三頁,共九十九頁,2022年,8月28日242.2.3參照完整性(ReferentialIntegrity)1、關(guān)系間的引用2、外碼3、參照完整性規(guī)則第二十四頁,共九十九頁,2022年,8月28日25
1、關(guān)系間的引用
在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的。參照關(guān)系被參照關(guān)系2.2.3參照完整性(續(xù))第二十五頁,共九十九頁,2022年,8月28日26例:學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系
參照關(guān)系被參照關(guān)系被參照關(guān)系2.2.3參照完整性(續(xù))第二十六頁,共九十九頁,2022年,8月28日27若一個關(guān)系R中包含有另一個關(guān)系S的主碼所對應(yīng)的屬性組F,則稱F為關(guān)系R的外碼。關(guān)系模型中關(guān)系(表)之間的聯(lián)系:反映現(xiàn)實(shí)世界中事物之間的聯(lián)系,通過一個表的主碼和另一個表的外碼來實(shí)現(xiàn)2、外碼2.2.3參照完整性(續(xù))第二十七頁,共九十九頁,2022年,8月28日283、參照完整性規(guī)則——對外碼的約束2.2.3參照完整性(續(xù))
設(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)或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值。第二十八頁,共九十九頁,2022年,8月28日29
學(xué)生關(guān)系中每個元組的“班號”屬性只取下面兩類值:(1)空值:表示尚未給該學(xué)生分配班級(2)非空值:這時該值必須取被引用關(guān)系的主碼值。即班級關(guān)系中某個元組的“班號”值,表示該學(xué)生不可能分配到一個不存在的專業(yè)中。(3)外碼是否為空值視具體情況而定。在關(guān)系模式中,若外碼是該模式的主碼中的成分(主屬性)時,不允許為空值。如:成績關(guān)系中的“學(xué)號”學(xué)生:班級:成績:2.2.3參照完整性(續(xù))第二十九頁,共九十九頁,2022年,8月28日30如:學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長),班長為外碼“班長”屬性值可以取兩類值:(1)空值,表示該學(xué)生所在班級尚未選出班長,或該學(xué)生本人即是班長;(2)非空值,這時該值必須是本關(guān)系中某個元組的學(xué)號值。特別提示:參照關(guān)系R和被參照S不一定是不同的關(guān)系,主碼和外碼也可以是不同的屬性名2.2.3參照完整性(續(xù))第三十頁,共九十九頁,2022年,8月28日312.2.4用戶定義的完整性一種與應(yīng)用密切相關(guān)的數(shù)據(jù)完整性約束,如某個屬性的值必須唯一某個屬性的取值必須在某個范圍內(nèi)某些屬性值之間應(yīng)該滿足一定的函數(shù)關(guān)系等
類似以上的約束不是關(guān)系數(shù)據(jù)模型本身所要求的,而是為了滿足應(yīng)用方面的語義要求而提出的例:課程(課程號,課程名,學(xué)分)“課程名”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}第三十一頁,共九十九頁,2022年,8月28日322.3關(guān)系數(shù)據(jù)操作
2.3.1常用的關(guān)系操作
2.2.2關(guān)系操作的特點(diǎn)
2.2.3關(guān)系操作語言(DML)第三十二頁,共九十九頁,2022年,8月28日33查詢的表達(dá)能力是其中最主要的部分查詢:查詢關(guān)系表內(nèi)的數(shù)據(jù)選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改2.3.1常用的關(guān)系操作第三十三頁,共九十九頁,2022年,8月28日34關(guān)系操作的對象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式2.3.2關(guān)系操作的特點(diǎn)第三十四頁,共九十九頁,2022年,8月28日35對關(guān)系模型中數(shù)據(jù)操作的語言稱為關(guān)系操作語言。數(shù)據(jù)庫管理系統(tǒng)提供的用戶接口,用戶操作數(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)的語言典型代表:SQL2.3.3關(guān)系操作語言(DML)第三十五頁,共九十九頁,2022年,8月28日362.4關(guān)系代數(shù)2.4.1關(guān)系運(yùn)算體系2.4.2傳統(tǒng)的集合運(yùn)算2.4.3專門的關(guān)系運(yùn)算2.4.4關(guān)系代數(shù)表達(dá)式2.4.5綜合舉例2.4.6
關(guān)系運(yùn)算的安全限制及關(guān)系代數(shù)的優(yōu)化
第三十六頁,共九十九頁,2022年,8月28日372.4.1概述2.4.1關(guān)系運(yùn)算體系1、關(guān)系運(yùn)算體系2、關(guān)系代數(shù)運(yùn)算的三要素3、關(guān)系代數(shù)運(yùn)算的分類及運(yùn)算符4、表示記號第三十七頁,共九十九頁,2022年,8月28日381、關(guān)系運(yùn)算體系
以關(guān)系為運(yùn)算對象的一組運(yùn)算符及其對應(yīng)運(yùn)算規(guī)則合稱為關(guān)系運(yùn)算體系。
△對關(guān)系數(shù)據(jù)模型的任何操作都可以表示成為一個關(guān)系運(yùn)算表達(dá)式。2.4.1關(guān)系運(yùn)算體系(續(xù))第三十八頁,共九十九頁,2022年,8月28日392、關(guān)系代數(shù)運(yùn)算的三要素運(yùn)算對象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類集合運(yùn)算符:將關(guān)系看成元組的集合專門的關(guān)系運(yùn)算符:不僅涉及行而且涉及列算術(shù)比較符:輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符:輔助專門的關(guān)系運(yùn)算符進(jìn)行操作2.4.1關(guān)系運(yùn)算體系(續(xù))第三十九頁,共九十九頁,2022年,8月28日40集合運(yùn)算符∪-∩×并差交廣義笛卡爾積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義專門的關(guān)系運(yùn)算符σπ
÷選擇投影連接除邏輯運(yùn)算符∧∨非與或3、關(guān)系代數(shù)運(yùn)算的分類及運(yùn)算符2.4.1關(guān)系運(yùn)算體系(續(xù))第四十頁,共九十九頁,2022年,8月28日41R:關(guān)系,關(guān)系模式為R(A1,A2,…,An)t:元組,tR:表示t是R的一個元組
t[Ai]:表示元組t中相應(yīng)于屬性Ai的一個分量4、表示記號
2.4.1關(guān)系運(yùn)算體系(續(xù))第四十一頁,共九十九頁,2022年,8月28日422.4.2傳統(tǒng)的集合運(yùn)算1、并2、交3、差4、廣義笛卡爾積第四十二頁,共九十九頁,2022年,8月28日43關(guān)系R和S具有相同的元(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域。即:關(guān)系R第i個屬性與另一關(guān)系S的第i個屬性具有相同的域(屬性名可以不同)則稱R、S具有相容可并性。(1≤i≤n)集合運(yùn)算的相容可并性
2.4.2傳統(tǒng)的集合運(yùn)算第四十三頁,共九十九頁,2022年,8月28日441、并(Union)相容可并的兩個關(guān)系R,S的合并,是由屬于R或?qū)儆赟(或?qū)儆趦烧撸┑乃性Mt(不計(jì)重復(fù)元組)組成的一個新的關(guān)系。新關(guān)系具有和R相同的屬性名集合。R∪S
為n元關(guān)系,由屬于R或?qū)儆赟的元組組成
R∪S={t|t
R∨tS}2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十四頁,共九十九頁,2022年,8月28日45ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2ABCa1b2c2a1b3c2a2b2c1RSR∪S
例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十五頁,共九十九頁,2022年,8月28日462、差(Difference)相容可并
的兩個關(guān)系R,S的差,是由屬于R而不屬于S的所有元組t組成的一個新的關(guān)系。新關(guān)系具有和R相同的屬性名集合。R-S
為n元關(guān)系,由屬于R而不屬于S的所有元組組成
R-S={t|tR∧tS}2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十六頁,共九十九頁,2022年,8月28日47ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S
例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十七頁,共九十九頁,2022年,8月28日483、交(Intersection)相容可并的兩個關(guān)系R,S的相交,是由既屬于R又屬于S的所有元組t組成的一個新的關(guān)系。新關(guān)系具有和R相同的屬性名集合。R∩S仍為n元關(guān)系,由既屬于R又屬于S的元組組成
R∩S={t|t
R∧tS} R∩S=R–(R-S)2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十八頁,共九十九頁,2022年,8月28日49ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S
例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第四十九頁,共九十九頁,2022年,8月28日504、廣義笛卡爾積
(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∧tsS}當(dāng)兩個關(guān)系中沒有相同屬性名時,新關(guān)系前n個屬性取R的屬性名,后m個屬性取S的屬性名。有相同屬性名時,屬性名前冠以關(guān)系名。2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十頁,共九十九頁,2022年,8月28日51ABCa1b1c1a1b2c2a2b2c1R.AR.BCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABa1b2a1b3a2b2RSR×S=
S.AS.Ba1b2a1b3a2b2a1b2a1b3a2b2a1b2a1b3a2b2例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十一頁,共九十九頁,2022年,8月28日52
例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十二頁,共九十九頁,2022年,8月28日53R1R2R3R1∪R2R1-R2R2-R1R1∩R2例:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十三頁,共九十九頁,2022年,8月28日54例:R1R2R3R1xR2:R2xR3:2.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十四頁,共九十九頁,2022年,8月28日55處理一個關(guān)系R和其自身的乘積時,需為關(guān)系R引入一個別名。R:ABd1d2RxR:R1.AR1.BR2.AR2.Bd1d1d2d1d1d2d2d22.4.2傳統(tǒng)的集合運(yùn)算(續(xù))第五十五頁,共九十九頁,2022年,8月28日562.4.3專門的關(guān)系運(yùn)算1、選擇2、投影3、連接4、除第五十六頁,共九十九頁,2022年,8月28日571、選擇(Selection)
從現(xiàn)有關(guān)系中選擇滿足給定條件的諸元組組成新的關(guān)系。
σF(R)={t|tR∧F(t)='真'}F:選擇條件,是一個邏輯表達(dá)式,運(yùn)算對象是常量或元組的屬性,(可用屬性名或列號來表示)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ2.4.3專門的關(guān)系運(yùn)算(續(xù))第五十七頁,共九十九頁,2022年,8月28日58[例1]查詢信息系(IS系)全體學(xué)生
σSdept
='IS'(S)或σ[5]=‘IS’(S)結(jié)果:[例2]查詢年齡小于20歲的學(xué)生
σSage<20(S)或σ[4]<20(S)
結(jié)果:
2.4.3專門的關(guān)系運(yùn)算(續(xù))第五十八頁,共九十九頁,2022年,8月28日592、投影(Projection)1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系
πA(R)={t[A]|tR} A:R中的屬性列,可重新排序2)投影操作主要是從列的角度進(jìn)行運(yùn)算投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)。π2.4.3專門的關(guān)系運(yùn)算(續(xù))第五十九頁,共九十九頁,2022年,8月28日60
例3:
π3,1(R)=[t
[A3,A1]|
t∈R]投影后,必須刪除重復(fù)的行(元組)可用屬性名或列號來表示2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十頁,共九十九頁,2022年,8月28日61例4:求學(xué)生關(guān)系S在Sno,Sname,Sdept屬性列上的投影πSnn,Sname,Sdept(S)或π1,2,5(S)結(jié)果:2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十一頁,共九十九頁,2022年,8月28日62
例5:檢索性別為女,系號為IS的學(xué)生學(xué)號、姓名
π1,2
(σ[3]=‘女’∧[5]=‘IS′(R))—
先選擇后投影例6:查詢學(xué)生關(guān)系S中都有哪些系?
πSdept(S)
2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十二頁,共九十九頁,2022年,8月28日633、連接(Join)1)連接運(yùn)算的含義連接運(yùn)算從R和S的廣義笛卡爾積R×S中選?。≧關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足一定條件(比較關(guān)系)的元組。2)表達(dá)式
RS={|tr
R∧ts
S∧tr[A]θts[B]}A和B:分別為R和S上元數(shù)相等且可比的屬性組θ:比較運(yùn)算符
AθBtrts2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十三頁,共九十九頁,2022年,8月28日643)一般的連接操作是從行的角度進(jìn)行運(yùn)算
AθBRS2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十四頁,共九十九頁,2022年,8月28日654)兩類常用連接運(yùn)算等值連接(equijoin)θ為“=”的連接運(yùn)算稱為等值連接等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:RS={|tr
R∧tsS∧tr[A]=ts[B]}A=Btrts2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十五頁,共九十九頁,2022年,8月28日66ABCABD6542466216589849486262.4.3專門的關(guān)系運(yùn)算(續(xù))例:第六十六頁,共九十九頁,2022年,8月28日67自然連接(Naturaljoin)自然連接的含義自然連接是一種特殊的等值連接,同時從行和列的角度進(jìn)行運(yùn)算兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉R和S具有相同的屬性組B
R
S={|trR∧tsS∧tr[B]=ts[B]}trts2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十七頁,共九十九頁,2022年,8月28日68設(shè)關(guān)系R和S,兩關(guān)系中有公共屬性B1、B2…Bn自然連接運(yùn)算分為三步:1)計(jì)算R×S2)選擇操作:在(R×S)中選取滿足R.B1=S.B1∧…∧R.Bn=S.Bn的元組3)投影操作:去掉S.B1、S.B2…S.Bn(保留R.B1…R.Bn)自然連結(jié)為組合操作:2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十八頁,共九十九頁,2022年,8月28日69R1R2例:
1:R1xR22:σF
(R1xR2)3:πR.A,R.B,R.C(σF
(R1xR2))2.4.3專門的關(guān)系運(yùn)算(續(xù))第六十九頁,共九十九頁,2022年,8月28日70R:S:R
S
C<E例:
等值連接R
SR.B=S.B
自然連接R
S
等值連接R
SR..C=S.E
2.4.3專門的關(guān)系運(yùn)算(續(xù))第七十頁,共九十九頁,2022年,8月28日71習(xí)題:
R:W:D:求:1)R1=∏Y,T
(R)2)R2=σP>5∧T=e(R)
3)R5=∏[2],[1],[6],
(
σ[3]=[5](R×D))
4)R3=RW5)R4=WD
第七十一頁,共九十九頁,2022年,8月28日72
自然連接是構(gòu)造新關(guān)系的有效方法,是關(guān)系代數(shù)中常用的一種運(yùn)算,在關(guān)系數(shù)據(jù)庫理論中起著重要作用。
S:SC:SCS
利用兩個關(guān)系表中相同屬性進(jìn)行自然連接,可將兩個關(guān)系建立聯(lián)系2.4.3專門的關(guān)系運(yùn)算(續(xù))第七十二頁,共九十九頁,2022年,8月28日732.4.3專門的關(guān)系運(yùn)算(續(xù)4.除法(Division)象集Z(ImagesSet)給定一個關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時,x在R中的象集為:
Zx={t[Z]|tR,t[X]=x}
它表示R中屬性組X上值為x的諸元組在Z上分量的集合第七十三頁,共九十九頁,2022年,8月28日74設(shè)訂購單關(guān)系R,X為職工號,Y為屬性集{供應(yīng)商號,訂購單號,訂購日期},則當(dāng)X取值為E3時的象集
{(S7,OR67,2002/06/23),(S4,OR79,2002/07/29),(S6,OR90,2002/07/13),(S3,OR91,2002/10/27)}
Yx=象集的例子第七十四頁,共九十九頁,2022年,8月28日75給定關(guān)系R(X,Y
)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R÷S得到一個新的關(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]4、除法(續(xù))第七十五頁,共九十九頁,2022年,8月28日76理解除法運(yùn)算由R中R(X,Y)是被除關(guān)系S(Y)是除關(guān)系商關(guān)系T=R÷S,T中只有X屬性組某些X屬性值構(gòu)成,其中的任一X值所對應(yīng)的一組Y值都包含除關(guān)系S。除運(yùn)算常用于至少…查詢或運(yùn)算除操作是同時從行和列角度進(jìn)行運(yùn)算第七十六頁,共九十九頁,2022年,8月28日77ABA1B2A2B1A2B3A3B3RBB1B3S計(jì)算T=R÷SR的A可以取三個值{A1,A2,A3}A1的象集{(B2)}A2的象集{(B1),(B3)}A3的象集{(B3)}S:{(B1),(B3)}只有A2的象集包含了S所以:R÷S={(A2)}
AA24、除法(續(xù))第七十七頁,共九十九頁,2022年,8月28日78R的A可以取四個值{a1,a2,a3,a4}a1的象集{(b1,c2),(b2,c3),(b2,c1)}a2的象集{(b3,c7),(b2,c3)}a3的象集{(b4,c6)}a4的象集{(b6,c6)}S:
{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)屬性組上的投影所以:R÷S={a1}BCb1c2b2c1b2c3ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1Aa1R÷SRS4、除法(續(xù))第七十八頁,共九十九頁,2022年,8月28日79除運(yùn)算的例子它的含義是:至少向WH1、WH3、WH5供貨的供應(yīng)商號。問題:結(jié)果關(guān)系的結(jié)構(gòu)?第七十九頁,共九十九頁,2022年,8月28日80
關(guān)系代數(shù)表達(dá)式關(guān)系代數(shù)運(yùn)算中,把五種基本操作經(jīng)有限次復(fù)合后形成的式子稱為關(guān)系代數(shù)表達(dá)式,運(yùn)算結(jié)果仍為關(guān)系??梢杂藐P(guān)系代數(shù)表示各種數(shù)據(jù)查詢操作2.4.4關(guān)系代數(shù)表達(dá)式第八十頁,共九十九頁,2022年,8月28日81利用投影、選擇和自然聯(lián)結(jié)可以任意地分解和構(gòu)造關(guān)系。(信息學(xué)院:學(xué)號、姓名、性別、班號、班主任、學(xué)院)B:S:Sσ[5]=′信息‘(P)
π1,2,3,5,6,7(P)
B)))(Sσ[5]=′信息‘(π1,2,3,5,6,7
P=
B
2.4.4關(guān)系代數(shù)表達(dá)式第八十一頁,共九十九頁,2022年,8月28日82例:設(shè)教學(xué)數(shù)據(jù)庫中有三個關(guān)系:學(xué)生關(guān)系S(Sno,Sname,Ssex,Sage,Sdept)學(xué)習(xí)關(guān)系SC(Sno,Cno,Grade)課程關(guān)系(Cno,Cname,Cpno,Ccredit)S:SC:C:2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))第八十二頁,共九十九頁,2022年,8月28日83
1、查詢計(jì)算機(jī)系年齡小于20歲的所有學(xué)生的學(xué)號、姓名、年齡表示對學(xué)生關(guān)系S進(jìn)行查詢操作,操作對象是關(guān)系S中的屬性Sno,Same,sage。查詢條件中所需的屬性也在關(guān)系S中2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))R1=∏Sno,Same,Sage(σSdept=‘IS’∧Sage<20(S))第八十三頁,共九十九頁,2022年,8月28日84
2、檢索選修課程號為C02的學(xué)生學(xué)號對選修關(guān)系SC進(jìn)行查詢操作,操作對象是關(guān)系SC中的屬性Sno。查詢條件中所需的屬性也在關(guān)系SC中2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))R2=∏Sno
(σCno=’C02’(SC))第八十四頁,共九十九頁,2022年,8月28日853、查詢選修C01或C03課程的學(xué)生學(xué)號R3=∏Sno,(σCno=’C01’∨Cno=’C01’(
SC))2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))第八十五頁,共九十九頁,2022年,8月28日86
4、查詢修課程號為C02的學(xué)生學(xué)號及姓名
查詢對象是學(xué)生關(guān)系S中的屬性S·Sno,S·Same。查詢條件中所涉及的屬性Cno在選修關(guān)系SC中。本查詢涉及兩個關(guān)系表。R4=∏Sno,Same(σCno=’C02’(
(SSC)))
2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))第八十六頁,共九十九頁,2022年,8月28日87
5、查詢選修了“數(shù)據(jù)結(jié)構(gòu)”的學(xué)生學(xué)號R5=∏Sno(σCnane=’數(shù)據(jù)結(jié)構(gòu)’(SCC))
2.4.5關(guān)系代數(shù)表達(dá)式應(yīng)用實(shí)例(續(xù))第八十七頁,共九十九頁,2022年,8月28日88
6、查詢選修了“數(shù)據(jù)結(jié)構(gòu)”的學(xué)號和學(xué)生姓名查詢對象是學(xué)生關(guān)系S中的屬性S.Sno,S.Same。查詢條件中所需的屬性Cname在課程關(guān)系C中,但S和C兩個
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歐亞共同體課程設(shè)計(jì)
- 自動駕駛技術(shù)應(yīng)用總結(jié)
- 體育娛樂行業(yè)人力資源總結(jié)
- 新媒體行業(yè)技術(shù)工作概覽
- 音響行業(yè)演出場地衛(wèi)生消毒方案
- 食品安全銷售總結(jié)
- 非公開發(fā)行股票認(rèn)購協(xié)議三篇
- 2024年稅務(wù)師題庫(輕巧奪冠)
- 2024年美術(shù)教案7篇合集
- 2024年福建開放大學(xué)《網(wǎng)絡(luò)測試與故障維修》形成性考核參考試題庫(含答案)
- DB21-T 2931-2018羊肚菌日光溫室栽培技術(shù)規(guī)程
- 貴州省黔東南州2023-2024學(xué)年九年級上學(xué)期期末文化水平測試化學(xué)試卷
- 《空調(diào)零部件介紹》課件
- 2024年度醫(yī)院內(nèi)分泌與代謝科述職報(bào)告課件
- 手術(shù)室無菌操作流程
- 農(nóng)業(yè)機(jī)械控制系統(tǒng)硬件在環(huán)測試規(guī)范
- 翁潭電站大王山輸水隧洞施工控制網(wǎng)設(shè)計(jì)說明書
- 隆胸術(shù)培訓(xùn)課件
- 鋼筋焊接培訓(xùn)課件
- 行政內(nèi)勤培訓(xùn)課件
- 化纖企業(yè)(化學(xué)纖維紡織企業(yè))安全生產(chǎn)操作規(guī)程
評論
0/150
提交評論