關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算_第1頁(yè)
關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算_第2頁(yè)
關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算_第3頁(yè)
關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算_第4頁(yè)
關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于關(guān)系數(shù)據(jù)庫(kù)關(guān)系代數(shù)運(yùn)算第1頁(yè),講稿共81頁(yè),2023年5月2日,星期三學(xué)習(xí)要點(diǎn)關(guān)系模型關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義關(guān)系完整性關(guān)系代數(shù)關(guān)系演算第2頁(yè),講稿共81頁(yè),2023年5月2日,星期三序言值得記住的1970年,E.F.Codd提出關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970關(guān)系數(shù)據(jù)庫(kù)試驗(yàn)系統(tǒng)SystemR,INGRES關(guān)系數(shù)據(jù)庫(kù)應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)庫(kù)中的數(shù)據(jù),80年代后成為最重要、最流行的數(shù)據(jù)庫(kù)系統(tǒng)典型實(shí)驗(yàn)系統(tǒng)SystemR,UniversityINGRES典型商用系統(tǒng)ORACLE,SYBASE,INFORMIX,DB2,INGRES第3頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.1關(guān)系模型概述關(guān)系模型由以下三部分組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系(一張二維表)關(guān)系操作:查詢操作選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)更新操作增加(Insert)、刪除(Delete)、修改(Update)關(guān)系完整性約束實(shí)體完整性、參照完整性、用戶定義完整性關(guān)系的兩個(gè)不變性,由系統(tǒng)自動(dòng)支持由應(yīng)用語(yǔ)義約束第4頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系語(yǔ)言關(guān)系操作特點(diǎn)操作對(duì)象和結(jié)果都是集合高度非過程化的語(yǔ)言,不必借助循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作,能嵌入高級(jí)語(yǔ)言中使用關(guān)系數(shù)據(jù)語(yǔ)言關(guān)系代數(shù)語(yǔ)言關(guān)系演算語(yǔ)言具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言元組關(guān)系演算語(yǔ)言域關(guān)系演算語(yǔ)言例如ISBL例如APLHA,QUEL例如QBE例如SQL三種語(yǔ)言在表達(dá)能力上完全等價(jià)第5頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系模型語(yǔ)言關(guān)系代數(shù)語(yǔ)言把關(guān)系當(dāng)作集合,用集合運(yùn)算和特殊的關(guān)系運(yùn)算來表達(dá)查詢要求和條件是一種抽象的查詢語(yǔ)言關(guān)系演算語(yǔ)言用謂詞來表達(dá)查詢要求和條件謂詞變?cè)幕緦?duì)象可以是元組變量或域變量,故可分為元組關(guān)系演算和域關(guān)系演算兩類是一種抽象的查詢語(yǔ)言SQL介于關(guān)系代數(shù)和關(guān)系演算之間集DDL、DML和DCL一身的關(guān)系數(shù)據(jù)語(yǔ)言第6頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義關(guān)系模型建立在集合代數(shù)基礎(chǔ)上,從集合論角度討論關(guān)系的形式化定義定義1:域(Domain)-形式化表示為D一組具有相同數(shù)據(jù)類型的值的集合,如整數(shù)、實(shí)數(shù)等。定義2:笛卡爾積(CartesianProduct)P47一組域D1,D2,…Dn的笛卡爾積(d1,d2,d3,…dn)稱為一個(gè)元組,di稱為一個(gè)分量,集合中唯一元素的數(shù)量是集合的基數(shù)

若Di的基數(shù)為Mi,則笛卡爾集的基數(shù)M為第7頁(yè),講稿共81頁(yè),2023年5月2日,星期三笛卡爾積計(jì)算實(shí)例例1:D1={甲,乙},D2={1,2},D3={a,b,c}1)D1,D2,D3基數(shù)分別是多少?2)D1×D2=?(基數(shù)?)3)D1×D2×D3=?(基數(shù)?)笛卡爾集可表示為一個(gè)二維表請(qǐng)將例子表示為二維表第8頁(yè),講稿共81頁(yè),2023年5月2日,星期三例2.已知三個(gè)域D1=導(dǎo)師集合={張清正,劉逸}D2=專業(yè)集合={計(jì)算機(jī),信息}D3=學(xué)生集合={李勇,劉晨,王敏}計(jì)算思考1)基數(shù)?2)計(jì)算D1×D2×D3=?基數(shù)?3)計(jì)算結(jié)果中的元組有無實(shí)際意義?導(dǎo)師專業(yè)研究生張清正計(jì)算機(jī)李勇張清正計(jì)算機(jī)劉晨張清正計(jì)算機(jī)王敏張清正信息李勇張清正信息劉晨張清正信息王敏劉逸計(jì)算機(jī)李勇劉逸計(jì)算機(jī)劉晨劉逸計(jì)算機(jī)王敏劉逸信息李勇劉逸信息劉晨劉逸信息王敏D1,D2,D3的笛卡爾積(上圖)第9頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義

定義3:關(guān)系D1×D2×···×Dn的子集叫做在D1,D2,…,Dn上的關(guān)系,表示為R(D1,D2,…,Dn)n:關(guān)系的度或目,表的列數(shù),一般稱n元關(guān)系相關(guān)術(shù)語(yǔ)候選碼:能夠唯一標(biāo)識(shí)一個(gè)元組的屬性組一個(gè)關(guān)系可以有多個(gè)候選碼主碼:一個(gè)關(guān)系中選定的一個(gè)候選碼主屬性:主碼的各個(gè)屬性非主屬性(非碼屬性):不包含在任何候選碼中的屬性全碼:若關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼請(qǐng)舉例第10頁(yè),講稿共81頁(yè),2023年5月2日,星期三三類關(guān)系基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)第11頁(yè),講稿共81頁(yè),2023年5月2日,星期三例.已知三個(gè)域D1=導(dǎo)師集合S={張清正,劉逸}D2=專業(yè)集合SP={計(jì)算機(jī),信息}D3=學(xué)生集合P={李勇,劉晨,王敏}計(jì)算思考從笛卡爾集中取出一個(gè)子集,選擇有意義的結(jié)果組成關(guān)系R=(導(dǎo)師,專業(yè),研究生)一個(gè)研究生只能有一個(gè)專業(yè),如李勇和王敏是計(jì)算機(jī)專業(yè)、劉晨是信息專業(yè)導(dǎo)師S專業(yè)SP研究生P張清正計(jì)算機(jī)李勇張清正計(jì)算機(jī)劉晨張清正計(jì)算機(jī)王敏張清正信息李勇張清正信息劉晨張清正信息王敏劉逸計(jì)算機(jī)李勇劉逸計(jì)算機(jī)劉晨劉逸計(jì)算機(jī)王敏劉逸信息李勇劉逸信息劉晨劉逸信息王敏D1,D2,D3的笛卡爾積(上圖)現(xiàn)在導(dǎo)師與研究生是什么關(guān)系?限定一個(gè)學(xué)生只能有一個(gè)導(dǎo)師,如張是計(jì)算機(jī)導(dǎo)師,劉是信息專業(yè)導(dǎo)師現(xiàn)在導(dǎo)師與研究生是什么關(guān)系?第12頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系關(guān)系的限定及擴(kuò)充關(guān)系數(shù)據(jù)中的關(guān)系是有限集合為關(guān)系的每一列附以屬性名以取消關(guān)系元組的有序性關(guān)系的性質(zhì)列同質(zhì),即每一列是同一類型的數(shù)據(jù)不同的列可出自同一個(gè)域,每一列為一個(gè)屬性,不同的屬性被賦予不同的屬性名列的次序可以任意交換任意兩個(gè)元組不能完全相同行的次序可以任意交換分量必須取原子值,即不可再分在許多實(shí)際關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品中,基本表并不完全具有這六條性質(zhì)。第13頁(yè),講稿共81頁(yè),2023年5月2日,星期三舉例列的順序無所謂,次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如ORACLE),增加新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序任意兩個(gè)元組不能完全相同,由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒有遵循這一性質(zhì),例如Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件第14頁(yè),講稿共81頁(yè),2023年5月2日,星期三舉例行的順序無所謂,行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序第15頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系模式關(guān)系模式是對(duì)關(guān)系的描述,形式化表示為R(U,D,dom,F)U:組成該關(guān)系的屬性名集合D:屬性組U中屬性所來自的域dom:屬性向域的映象集合,如屬性的類型、長(zhǎng)度F:屬性間數(shù)據(jù)的依賴關(guān)系集合★可簡(jiǎn)記為R(U)或R(A1,A2,…,An),其中Ai為屬性名關(guān)系模式與關(guān)系關(guān)系模式是型,是對(duì)關(guān)系的描述,是靜態(tài)的,穩(wěn)定的關(guān)系是值,由賦予它的元組語(yǔ)義來確定的,是動(dòng)態(tài)的,不斷變化的,是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容★實(shí)際應(yīng)用中常常將關(guān)系模式和關(guān)系都稱為關(guān)系第16頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系數(shù)據(jù)庫(kù)在給定應(yīng)用領(lǐng)域中,所有表示實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)也有型和值之分關(guān)系數(shù)據(jù)庫(kù)的型稱為關(guān)系數(shù)據(jù)庫(kù)模式,是對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)第17頁(yè),講稿共81頁(yè),2023年5月2日,星期三課堂思考給出導(dǎo)師、學(xué)生、專業(yè)三個(gè)實(shí)體可能組成的關(guān)系數(shù)據(jù)庫(kù)及其概念模型(ER圖)第18頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.3關(guān)系的完整性實(shí)體完整性參照完整性用戶定義完整性

關(guān)系模型必須滿足,稱為關(guān)系的不變性由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)支持第19頁(yè),講稿共81頁(yè),2023年5月2日,星期三實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值說明:基本關(guān)系的所有主屬性不能取空值,而不僅是主碼整體不能取空值依據(jù):現(xiàn)實(shí)世界的實(shí)體是唯一可分的例:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))第20頁(yè),講稿共81頁(yè),2023年5月2日,星期三參照完整性關(guān)系間的引用外碼參照完整性規(guī)則第21頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用例1學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)第22頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系間的引用例2學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))第23頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系間的引用例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多)

學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))第24頁(yè),講稿共81頁(yè),2023年5月2日,星期三外碼(ForeignKey)外碼設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼被參照關(guān)系ReferencedRelation或:目標(biāo)關(guān)系TargetRelation參照關(guān)系ReferencingRelation基本關(guān)系R(F,…)基本關(guān)系S(Ks,…)FKr第25頁(yè),講稿共81頁(yè),2023年5月2日,星期三外碼說明關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上關(guān)于取名外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別第26頁(yè),講稿共81頁(yè),2023年5月2日,星期三例1:學(xué)生實(shí)體與專業(yè)實(shí)體間的關(guān)系:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)外碼例2:學(xué)生,課程,學(xué)生與課程之間的多對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))學(xué)生關(guān)系專業(yè)關(guān)系專業(yè)號(hào)學(xué)生關(guān)系選修關(guān)系課程關(guān)系學(xué)號(hào)課程號(hào)參照完整性舉例主碼?外碼?關(guān)系參照?qǐng)D參照關(guān)系被參照關(guān)系參照關(guān)系被參照關(guān)系被參照關(guān)系關(guān)系參照?qǐng)D第27頁(yè),講稿共81頁(yè),2023年5月2日,星期三參照完整性舉例例3:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))被參照關(guān)系參照關(guān)系外碼第28頁(yè),講稿共81頁(yè),2023年5月2日,星期三參照完整性規(guī)則已知基本關(guān)系R的外碼F(與基本關(guān)系S的主碼Ks相對(duì)應(yīng)),每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值?;娟P(guān)系R(F,…)基本關(guān)系S(Ks,…)FKr第29頁(yè),講稿共81頁(yè),2023年5月2日,星期三參照完整性規(guī)則舉例“專業(yè)號(hào)”屬性只取下面兩類值:空值,表示尚未給該學(xué)生分配專業(yè)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系中的主屬性,按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)選修(學(xué)號(hào),課程號(hào),成績(jī))第30頁(yè),講稿共81頁(yè),2023年5月2日,星期三參照完整性規(guī)則舉例“班長(zhǎng)”屬性值可以取兩類值:空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng),或該學(xué)生本人即是班長(zhǎng);非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))第31頁(yè),講稿共81頁(yè),2023年5月2日,星期三用戶定義的完整性用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能第32頁(yè),講稿共81頁(yè),2023年5月2日,星期三用戶定義的完整性舉例“課程名”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}其它成績(jī):0-100之間身份證位數(shù)、身份證和生日對(duì)應(yīng)關(guān)系課程(課程號(hào),課程名,學(xué)分)第33頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.4關(guān)系代數(shù)關(guān)系代數(shù)語(yǔ)言用傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算來表達(dá)查詢的抽象語(yǔ)言關(guān)系代數(shù)運(yùn)算符關(guān)系代數(shù)表達(dá)式關(guān)系代數(shù)中有限次運(yùn)算復(fù)合后形成的式子運(yùn)算符含義運(yùn)算符含義集合運(yùn)算符并差交廣義笛卡爾積比較運(yùn)算符>>=<<==大于大于等于小于小于等于等于不等于專門的關(guān)系運(yùn)算符選擇投影連接除邏輯運(yùn)算符非與或第34頁(yè),講稿共81頁(yè),2023年5月2日,星期三表示記號(hào)R,tR,t[Ai],A,t[A],A設(shè)關(guān)系模式為R(A1,A2,…,An),它的一個(gè)關(guān)系設(shè)為RtR表示t是R的一個(gè)元組t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或域列t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組第35頁(yè),講稿共81頁(yè),2023年5月2日,星期三傳統(tǒng)的集合運(yùn)算若R和S是同類關(guān)系(即它們都具有n個(gè)屬性且相應(yīng)屬性取自同一個(gè)域),則可進(jìn)行并、差、交運(yùn)算對(duì)兩者進(jìn)行集合運(yùn)算之前,要對(duì)兩者的屬性列進(jìn)行排序,保證兩個(gè)關(guān)系的屬性順序相同由屬于R或?qū)儆赟的元組組成由屬于R而不屬于S的元組組成由既屬于R又屬于S的元組組成RS第36頁(yè),講稿共81頁(yè),2023年5月2日,星期三表示記號(hào)trtsR為n目關(guān)系,S為m目關(guān)系trR,tsS,trts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組第37頁(yè),講稿共81頁(yè),2023年5月2日,星期三廣義笛卡爾積R×S,其關(guān)系模式是R和S的模式的并集,是R和S的元組以所有可能的方式組合起來。當(dāng)R和S有同名的屬性,至少要為其中一個(gè)屬性重新命名。數(shù)學(xué)描述:若關(guān)系R有k1個(gè)元組n個(gè)屬性,關(guān)系S有k2個(gè)元組m個(gè)屬性,則兩個(gè)關(guān)系的廣義笛卡爾積有k1*k2個(gè)元組n+m個(gè)屬性(前n個(gè)屬性來自于R,后m個(gè)屬性來自于S)廣義笛卡爾積和笛卡爾積的關(guān)系?運(yùn)算對(duì)象?什么情況下二者等價(jià)?第38頁(yè),講稿共81頁(yè),2023年5月2日,星期三RSABCa1b1c1a1b2c2a2b2c1a1b3c2RSABCa1b2c2a2b2c1R-SABCa1b1c1RS

R.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b1c1a1b2c2a2b2c1RABCa1b2c2a1b3c2a2b2c1S第39頁(yè),講稿共81頁(yè),2023年5月2日,星期三例子:學(xué)生—課程數(shù)據(jù)庫(kù)例:包括S,C,SC三個(gè)關(guān)系用此例講解專門的關(guān)系運(yùn)算S(Sno,Sname,Sex,Sage,Sdept)C(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)第40頁(yè),講稿共81頁(yè),2023年5月2日,星期三

SnoSnameSsexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS

SCnoCnameCpqoCcredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)2信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27Pascal語(yǔ)言64CSnoCnoGrade9500119295001285950013889500229095002380SC第41頁(yè),講稿共81頁(yè),2023年5月2日,星期三專門的關(guān)系運(yùn)算投影:該運(yùn)算作用于關(guān)系R將產(chǎn)生一個(gè)新關(guān)系S,S只具有R的某幾個(gè)屬性列選擇:該運(yùn)算作用于關(guān)系R也將產(chǎn)生一個(gè)新關(guān)系S,S的元組集合是R的一個(gè)滿足某條件C的子集自然連接:其關(guān)系模式是R和S模式的并集。假設(shè)A1、A2、……An是R和S的模式中的公共屬性,那么如果R的元組r和S的元組s在這些屬性上取值都相同,r和s組合而成的元組就歸入該自然連接中θ連接(包含等值連接):先將R和S笛卡兒積,然后從R×S的元組中選擇滿足條件θ的元組集合第42頁(yè),講稿共81頁(yè),2023年5月2日,星期三專門的關(guān)系運(yùn)算:選擇記號(hào):tR表示t是R的一個(gè)元組選擇:從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,行選。記作邏輯表達(dá)式F由邏輯運(yùn)算符連接算術(shù)表達(dá)式邏輯運(yùn)算符:算術(shù)表達(dá)式:基本形式為“X1Y1”表示比較運(yùn)算符(>,≥,<,≤,=或<>)X1,Y1是屬性名或常量或簡(jiǎn)單函數(shù),屬性名可以用它的序號(hào)來代替例子:F=Sage<20或F=4<20S(Sno,Sname,Sex,Sage,Sdept)第43頁(yè),講稿共81頁(yè),2023年5月2日,星期三選擇運(yùn)算舉例選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISSnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS查詢信息系(IS系)全體學(xué)生σSdept

='IS'(Student)σ5='IS'(Student)第44頁(yè),講稿共81頁(yè),2023年5月2日,星期三選擇運(yùn)算例查詢年齡小于20歲的學(xué)生:

Sdept<20(Student)或

4<20(Student)課堂練習(xí):1)查詢CS系的所有女生2)查詢先行課代號(hào)為6的所有課程SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS第45頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系代數(shù):投影定義:從關(guān)系R中選擇若干屬性列組成新的關(guān)系,列選其中

表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。第46頁(yè),講稿共81頁(yè),2023年5月2日,星期三投影(Projection)投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)π第47頁(yè),講稿共81頁(yè),2023年5月2日,星期三投影運(yùn)算例查詢學(xué)生的姓名和所在系:

Sname,Sdept(Student)或2,5(Student)查詢學(xué)生關(guān)系S中有哪些系:

Sdept(Student)或5(Student)SnameSdept李勇CS劉晨IS王敏MA張立ISSdeptCSISMA第48頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系代數(shù):連接連接從關(guān)系R和S的笛卡爾積中選取屬性間滿足條件的元組其中A和B分別是關(guān)系R和S上可比的屬性組,是比較運(yùn)算符等值連接從關(guān)系R和S的笛卡爾積中選取A,B屬性值相等的元組自然連接特殊的等值連接,R和S具有相同的屬性組B,在結(jié)果中去掉重復(fù)的屬性列第49頁(yè),講稿共81頁(yè),2023年5月2日,星期三連接一般的連接操作是從行的角度進(jìn)行運(yùn)算自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算

AθBRS第50頁(yè),講稿共81頁(yè),2023年5月2日,星期三ABCa1b15a1b26a2b38a2b412RBEb13b27b310b32b52SAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310R

C<E

SAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32等值連接ABCEa1b153a1b267a2b3810a2b382自然連接R

R.B=S.B

SR

S連接運(yùn)算例第51頁(yè),講稿共81頁(yè),2023年5月2日,星期三連接運(yùn)算例選修課程號(hào)為1的學(xué)生的完整信息(包括姓名、系、成績(jī)等)R=SSCS(Sno,Sname,Sex,Sage,Sdept)SC(Sno,Cno,Grade)R(Sno,Sname,Sex,Sage,Sdept,Cno,Grade)第52頁(yè),講稿共81頁(yè),2023年5月2日,星期三表示記號(hào):象集Zx給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|tR,t[X]=x}

ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1R它表示R中屬性組X上值為x的諸元組在Z上分量的集合。例子:a1的象集為{(b1,c2),(b2,c3),(b2,c1)}第53頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系代數(shù):除R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集元組在X上分量值x的象集Yx包含S在Y上的投影第54頁(yè),講稿共81頁(yè),2023年5月2日,星期三除除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算÷RS第55頁(yè),講稿共81頁(yè),2023年5月2日,星期三4)除運(yùn)算例設(shè)有如圖的關(guān)系R和SABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCD

b1c2d1b2c1d1b2c3d2Aa1RSRS則RS結(jié)果如下.a(chǎn)1的象集為{(b1,c2),(b2,c3),(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為{(b6,c6)}S在(B,C)上的投影為{(b1,c2),(b2,c1),(b2,c3)}因只有a1的象集包含了S在(B,C)屬性組上的投影,故RS={a1}第56頁(yè),講稿共81頁(yè),2023年5月2日,星期三例子選修了1號(hào)課程的學(xué)生學(xué)號(hào)?Sno(σCno=‘1’(SC))至少選修了1號(hào)和3號(hào)課程的學(xué)生學(xué)號(hào)??SC(Sno,Cno,Grade)C(Cno,Cname,Cpno,Ccredit)第57頁(yè),講稿共81頁(yè),2023年5月2日,星期三查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼解:先建一臨時(shí)關(guān)系K:求:Sno,Cno(SC)K結(jié)果為:{95001}Cno

1

3SC(Sno,Cno,Grade)(Sno,Cno)第58頁(yè),講稿共81頁(yè),2023年5月2日,星期三思考選擇、投影、除、連接等關(guān)系運(yùn)算能做什么事情?它們分別能解決什么樣的查詢問題?請(qǐng)分別舉例說明?在實(shí)際問題中,如何復(fù)合使用?第59頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系代數(shù):綜合應(yīng)用1)查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)2)查詢至少選修了一門其直接先行課為5號(hào)課程的學(xué)生姓名3)查詢選修了全部課程的學(xué)生號(hào)碼和姓名請(qǐng)給出對(duì)應(yīng)含義和查詢答案:第60頁(yè),講稿共81頁(yè),2023年5月2日,星期三解:πSname(σCpno='5'(Course)SCπSno,Sname(Student))或πSname(πSno(σCpno='5'(Course)SC)πSno,Sname(Student))

1)查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)解:Sno(

Cno=‘2’(SC))={95001,95002}2)查詢至少選修了一門其直接先行課為5號(hào)課程的學(xué)生姓名第61頁(yè),講稿共81頁(yè),2023年5月2日,星期三3)查詢選修了全部課程的學(xué)生號(hào)碼和姓名解:Sno,Cno(SC)Cno(Course)Sno,Sname(Student)例子和思考問題:查詢選修了2號(hào)課程的學(xué)生的姓名?查詢至少選修了一門其直接先行課為數(shù)據(jù)結(jié)構(gòu)的學(xué)生姓名?還有沒有其它答案?第62頁(yè),講稿共81頁(yè),2023年5月2日,星期三補(bǔ)充已知學(xué)生選課數(shù)據(jù)庫(kù)模式:Student(Sno,Sname,Sage,Sdept)Course(Cno,Cname)SC(Sno,Cno,Score)用關(guān)系代數(shù)進(jìn)行如下查詢:計(jì)算機(jī)系有不及格課程的學(xué)生名單學(xué)生張林的“數(shù)據(jù)庫(kù)原理”成績(jī)第63頁(yè),講稿共81頁(yè),2023年5月2日,星期三關(guān)系代數(shù)小結(jié)總結(jié)關(guān)系代數(shù)運(yùn)算五種基本運(yùn)算:并、差、交、笛卡爾積、選擇、投影其余運(yùn)算可有以上五種基本運(yùn)算來表達(dá)第64頁(yè),講稿共81頁(yè),2023年5月2日,星期三練習(xí)圖書館管理數(shù)據(jù)庫(kù)讀者(讀者編號(hào),姓名,單位)圖書(書號(hào),書名,作者,出版社,單價(jià),類型)借閱記錄(讀者編號(hào),書號(hào),借閱日期,應(yīng)還日期)還書記錄(讀者編號(hào),書號(hào),歸還日期)用關(guān)系代數(shù)描述以下查詢要求查詢“人民郵電出版社”出版的所有圖書的相關(guān)信息查詢單價(jià)在15元以上的書名和作者查詢8號(hào)讀者2003年3月10日所借圖書的相關(guān)信息查詢超期歸還圖書的讀者姓名和單位查詢借閱過《天龍八部》的讀者的信息查詢借閱過“金庸”所有著作的讀者的姓名查詢沒有借閱過任何圖書的讀者的姓名第65頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.5關(guān)系演算關(guān)系演算語(yǔ)言以元組變量或域(屬性)變量作為謂詞變?cè)幕緦?duì)象來表達(dá)查詢的語(yǔ)言分類:元組關(guān)系演算語(yǔ)言域關(guān)系演算語(yǔ)言第66頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.5.1元組關(guān)系演算元組演算表達(dá)式{t|(t)},含義是使(t)為真的元組集合。其中t是元組變量,(t)是元組關(guān)系演算公式,由原子公式和運(yùn)算符組成。原子公式可以是:第67頁(yè),講稿共81頁(yè),2023年5月2日,星期三用關(guān)系演算表達(dá)式表示五種基本運(yùn)算第68頁(yè),講稿共81頁(yè),2023年5月2日,星期三元組關(guān)系演算實(shí)例查詢IS系學(xué)生信息查詢年齡小于20歲的學(xué)生查詢學(xué)生的姓名和所在系第69頁(yè),講稿共81頁(yè),2023年5月2日,星期三2.5.2域關(guān)系演算域演算表達(dá)式含義是所有使得為真的那些t1,t2,…,tk組成的元組集合,其中t1,t2,…,tk分別是域變量或常量,R(t1,t2,…,tk)表示由分量t1,t2,…,tk組成的元組屬于關(guān)系R原子公式可以是第70頁(yè),講稿共81頁(yè),2023年5月2日,星期三域關(guān)系演算實(shí)例查詢IS系學(xué)生的名字與系名查詢20歲以上學(xué)生的學(xué)號(hào)與姓名第71頁(yè),講稿共81頁(yè),2023年5月2日,星期三

以元組變量作為謂詞變?cè)幕緦?duì)象基本格式:操作語(yǔ)句工作空間名(表達(dá)式):操作條件其中:表達(dá)式用于指定操作的對(duì)象,可以為關(guān)系名或?qū)傩悦?/p>

操作條件為一個(gè)邏輯表達(dá)式

操作語(yǔ)句為GET(查詢),PUT(插入),HOLD(讀取),UPDATE(修改),DELETE(刪除),DROP(刪除視圖)等例:以學(xué)生-選課數(shù)據(jù)庫(kù)為例

.檢索:查詢信息系中年齡小于20歲的學(xué)生的學(xué)號(hào)及年齡GETW(Student.Sno,Student.Sage):Student.Sdept=‘IS’Student.Sage<20工作空間名2.5.3元組關(guān)系演算語(yǔ)言ALPHA第72頁(yè),講稿共81頁(yè),2023年5月2日,星期三查詢信息系年齡最大的三個(gè)學(xué)生的學(xué)號(hào)及年齡,結(jié)果按年齡降序排列GETW(3)(Student.Sno,Student.Sage):Student.Sdept=‘IS’DOWNStudent.Sage定額:用以規(guī)定檢索出的元組個(gè)數(shù).用元組變量的檢索:查詢信息系中年齡小于20歲的學(xué)生的學(xué)號(hào)及年齡RANGESCXGETW(X.Sno,X.Sage):X.Sdept=‘IS’X.Sage<20可簡(jiǎn)化關(guān)系名操作條件有量詞時(shí)必用查詢成績(jī)?yōu)?0分以上的學(xué)生名字與課程名字RANGESCSCXGETW(Student.Sname,Course.Cname):SCX(SCX.Grade90

SCX.Sno=Student.SnoCourse.Cno=SCX.Cno)第73頁(yè),講稿共81頁(yè),2023年5月2日,星期三.用集函數(shù)的查詢:用標(biāo)準(zhǔn)函數(shù)庫(kù)提供的函數(shù)如:COUNT,TOTAL,MAX,MIN,AVG查詢信息系學(xué)生的平均年齡GetW(AVG(Student.Sage):Student.Sdept=‘IS’).修改操作:

步驟:先用HOLD將要修改的元組從數(shù)據(jù)庫(kù)讀入工作空間用宿主語(yǔ)言修改其屬性用UPDATE將修改后的元組送回?cái)?shù)據(jù)庫(kù)中

注:涉及多個(gè)關(guān)系,則多次重復(fù)以上三步

示例:把95007學(xué)生從計(jì)算機(jī)科學(xué)系轉(zhuǎn)到信息系HOLDW(Student.Sno,Student.Sdept):Student.Sno=‘95007’MOVE‘IS’TOW.SdeptUPDATEW第74頁(yè),講稿共81頁(yè),2023年5月2日,星期三.插入操作:

步驟:用宿主語(yǔ)句在工作空間中建立新的元組用PUT將該元組存入指定的關(guān)系中

注:PUT只對(duì)一個(gè)關(guān)系操作,即PUT后的表達(dá)式必為單個(gè)關(guān)系

示例:新開設(shè)一門2個(gè)學(xué)分的課程“系統(tǒng)結(jié)構(gòu)”,課程號(hào)為8,先行課程號(hào)為6,插入該元組MOVE‘8’TOW.CnoMOVE‘系統(tǒng)結(jié)構(gòu)’TOW.CpnoMOVE‘2’TOW.CcreditPUTW(Course)第75頁(yè),講稿共81頁(yè),2023年5月2日,星期三.刪除操作:步驟:先用HOLD將要修改的元組從數(shù)據(jù)庫(kù)讀入工作空間用DELETE將該元組刪除

注:要注意保證參

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論