版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)1關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)操縱關(guān)系數(shù)據(jù)理論2第二章 關(guān)系數(shù)據(jù)庫(kù)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ù)庫(kù)2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)32.1.1 關(guān)系數(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),是一張二維表建立在集合代數(shù)的基礎(chǔ)上 4關(guān)系(例子)JonesSmithCurryLindsaycustom
2、er_nameMainNorthNorthParkcustomer_streetHarrisonRyeRyePittsfieldcustomer_citycustomerattributes(or columns)tuples(or rows)unordered5 域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。 例如:自然數(shù)、整數(shù)、實(shí)數(shù)、介于某個(gè)取值范圍的整數(shù)、指定長(zhǎng)度的字符串集合等都可以是域 具體如:自然數(shù) 1,2,3,N 邏輯值 0,1,男,女 字符串 A,B,C, red,green,blue, 62. 笛卡爾積(Cartesian Product)給定一組域D1,D2,Dn D
3、1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)diDi,i1,2,n結(jié)果為所有域的所有取值的一個(gè)組合元素不能重復(fù)表示為一個(gè)二維表元組分量基數(shù)73. 關(guān)系(Relation)笛卡爾積D1D2Dn的子集,叫作在域D1,D2,Dn上的關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名n:關(guān)系的目或度(Degree)關(guān)系中不同列,可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須為每列起一個(gè)不同的名字,稱為屬性 R(A1,A2,An)8碼/鍵 Keys超碼(Super key) 關(guān)系中的某一屬性組的值,能唯一地標(biāo)識(shí)一個(gè)元組,候選碼(Candidate key) 不包含多余屬性的超碼。 候選碼的諸屬性
4、稱為主屬性(Prime attribute) 不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute)或非碼屬性(Non-key attribute) 主碼(Primary key) 若一個(gè)關(guān)系有多個(gè)候選碼,則人為選定其中一個(gè)為主碼Should choose an attribute whose value never, or very rarely, changes.E.g. email address is unique, but may change外碼(Foreign key)9關(guān)系的三類類型基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示。通常
5、對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,只有數(shù)據(jù)視圖(存放數(shù)據(jù)的框架),不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù),是虛表。10基本關(guān)系的性質(zhì) 列是同質(zhì)的(Homogeneous) 不同的列可出自同一個(gè)域不同的屬性要給予不同的屬性名其中的每一列稱為一個(gè)屬性 列的順序無所謂,列的次序可以任意交換 任意兩個(gè)元組的候選碼不能相同元組對(duì)應(yīng)著的實(shí)體,必須是可區(qū)分的 行的順序無所謂,行的次序可以任意交換 分量必須取原子值 即每一個(gè)分量都必須是不可再分的數(shù)據(jù)項(xiàng),這是關(guān)系的規(guī)范要求。11基本關(guān)系的性質(zhì)實(shí)際中數(shù)據(jù)庫(kù)產(chǎn)品可不完全具有這六個(gè)性質(zhì),如:FoxPro中仍然區(qū)分屬性順序和元組順序。O
6、RACLE,F(xiàn)oxPro中允許表中存在多于一個(gè)的完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件。122.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.1.1 關(guān)系2.1.2 關(guān)系模式1什么是關(guān)系模式2定義關(guān)系模式3. 關(guān)系模式與關(guān)系2.1.3 關(guān)系數(shù)據(jù)庫(kù)131什么是關(guān)系模式關(guān)系模式是型,是對(duì)關(guān)系的描述:元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域 屬性與域之間的映象關(guān)系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合142定義關(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)系集合 (注意:區(qū)分實(shí)
7、體即關(guān)系間的聯(lián)系)關(guān)系模式通??梢院?jiǎn)記為 R (U) 或 R (A1,A2,An)其中 R: 關(guān)系名; A1,A2,An : 屬性名153. 關(guān)系模式與關(guān)系關(guān)系模式 型對(duì)關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系 值關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系(有型也有值) 必要時(shí),通過上下文加以區(qū)別162.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ù)庫(kù)172.1.3 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)182. 關(guān)系數(shù)據(jù)庫(kù)的型與值關(guān)系數(shù)據(jù)庫(kù)的型: 關(guān)系數(shù)據(jù)庫(kù)模式,對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述。包括若干域的定義在這些域
8、上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值: 關(guān)系數(shù)據(jù)庫(kù)模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)19第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系模型概述2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)202.2.1基本關(guān)系操作 常用的關(guān)系操作查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分 關(guān)系操作的特點(diǎn)集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式212.2.2 關(guān)系數(shù)據(jù)庫(kù)語言的分類 關(guān)系代數(shù)語言用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢要求,代表:ISBL關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變?cè)幕緦?duì)象是元組變量
9、。代表:APLHA, QUEL域關(guān)系演算語言 謂詞變?cè)幕緦?duì)象是域變量。代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言代表:SQL(Structured Query Language) 22第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.3.2 實(shí)體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 小結(jié)232.3.1 關(guān)系的三類完整性約束實(shí)體完整性和參照完整性: 關(guān)系模型必須滿足的完整性約束條件 稱為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持用戶定義的完整性: 應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中
10、的語義約束 242.3.2 實(shí)體完整性規(guī)則2.1 實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值 例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)主碼POSTGRADUATE (假設(shè)研究生不會(huì)重名)不能取空值25實(shí)體完整性規(guī)則的說明(1) 實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。(2) 現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3) 關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。(4) 主碼中的屬性即主屬性不能取空值。主屬性如果取空值,就說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在
11、不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性262.3.3 參照完整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則若屬性組F是關(guān)系R的外碼,它與關(guān)系S的主碼Ks相對(duì)應(yīng),則對(duì)于R中每個(gè)元組在F上的值必須為: 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值271. 關(guān)系間的引用在關(guān)系模型中實(shí)體,及實(shí)體間的聯(lián)系,都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1 學(xué)生實(shí)體、專業(yè)實(shí)體學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號(hào)”。 學(xué)生關(guān)系中的“專業(yè)號(hào)”值必須是確實(shí)存在的專業(yè)的專業(yè)號(hào) ,即專業(yè)關(guān)系中
12、有該專業(yè)的記錄。28關(guān)系間的引用(續(xù))例2 學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī))29關(guān)系間的引用(續(xù))例3 學(xué)生實(shí)體及其內(nèi)部的一對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))“學(xué)號(hào)”是主碼,“班長(zhǎng)”是外碼,它引用了本關(guān)系的“學(xué)號(hào)” “班長(zhǎng)” 必須是確實(shí)存在的學(xué)生的學(xué)號(hào) 302外碼(Foreign Key)設(shè)F是基本關(guān)系R的一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為
13、被參照關(guān)系(Referenced Relation) 或目標(biāo)關(guān)系(Target Relation)312外碼(Foreign Key)學(xué)號(hào)姓名所在系9901990299039904張三李四王五趙六計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)課程號(hào)課程名學(xué)時(shí)數(shù)C01C02C03C04高等數(shù)學(xué)數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)數(shù)據(jù)庫(kù)100708060學(xué)號(hào)課程號(hào)成績(jī)99019901990299049904C01C02C04C04C039080908570學(xué)生關(guān)系課程關(guān)系學(xué)習(xí)成績(jī)關(guān)系外碼外碼主碼主碼32一些說明關(guān)系R和S,不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F,必須定義在同一個(gè)(或一組)域上外碼F并不一定要與相應(yīng)的主碼
14、Ks同名 如例子3的學(xué)生和班長(zhǎng) 當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別333. 參照完整性規(guī)則規(guī)則2.2 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)34例1:外碼的取值約束學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取兩類值:(1)空值,表示該學(xué)生尚未分配專業(yè)(2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”
15、值,不可能分配一個(gè)不存在的專業(yè)35例2既是主屬性,也是外碼選修(學(xué)號(hào),課程號(hào),成績(jī)) “學(xué)號(hào)”和“課程號(hào)”可能的取值 : (1)選修關(guān)系中的主屬性,不能取空值 (2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值36課堂練習(xí):學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))哪些屬性值,取值有約束?學(xué)號(hào):非空值 班長(zhǎng): (1)空值, (2)非空值,但必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值專業(yè)號(hào)課后問題: F是關(guān)系R的碼,F(xiàn)與基本關(guān)系S的主碼Ks相對(duì)應(yīng),F(xiàn)還是基本關(guān)系R的外碼?Why37關(guān)系的完整性(續(xù))2.3.1關(guān)系的三類完整性約束2.3.2 實(shí)體完整性2.3.3 參照完整性2.3.4 用戶定義的完整性382.3.
16、4 用戶定義的完整性針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù),必須滿足的語義要求關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能39用戶定義的完整性(續(xù))例: 課程(課程號(hào),課程名,學(xué)分)“課程號(hào)”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值1,2,3,440第二章 關(guān)系數(shù)據(jù)庫(kù)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é)41集合運(yùn)算符-并差交笛卡爾積比較運(yùn)算符 大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表2.4 關(guān)系代數(shù)運(yùn)算符
17、 關(guān)系代數(shù)運(yùn)算符42專門的關(guān)系運(yùn)算符 選擇投影連接除邏輯運(yùn)算符 非與或運(yùn)算符含義運(yùn)算符含義表2.4 關(guān)系代數(shù)運(yùn)算符(續(xù)) 關(guān)系代數(shù)運(yùn)算符(續(xù))432.4 關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算并 RUS = t | t R t S差 R- S = t | t R t S交 R S= t | t R t S =R-(R-S)笛卡爾積 專門的關(guān)系運(yùn)算444. 笛卡爾積(Cartesian Product)嚴(yán)格地講應(yīng)該是廣義的笛卡爾積 (Extended Cartesian Product) R: n目關(guān)系,k1個(gè)元組S: m目關(guān)系,k2個(gè)元組RS = tr ts |tr R tsS 列:(n+m)列元組的集合 元
18、組的前n列是關(guān)系R的一個(gè)元組 后m列是關(guān)系S的一個(gè)元組行:k1k2個(gè)元組45笛卡爾積(續(xù))462.4.2 專門的關(guān)系運(yùn)算選擇、投影、連接、除先引入幾個(gè)記號(hào) (1) R,tR,tAi 設(shè)關(guān)系模式為R(A1,A2,An) 它的一個(gè)關(guān)系設(shè)為R tR表示t是R的一個(gè)元組 tAi則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量 47專門的關(guān)系運(yù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后
19、剩余的屬性組。 48專門的關(guān)系運(yùn)算(續(xù))(3) tr ts R為n目關(guān)系,S為m目關(guān)系。 tr R,tsS, tr ts稱為元組的連接。 tr ts是一個(gè)n + m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。 49(4)象集Zx 給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。 當(dāng)tX=x時(shí),x在R中的象集(Images Set)為: Zx=tZ|t R,tX=x 它表示R中屬性組X上,值為x的諸元組,在Z上分量的集合 x1在R中的象集 Zx1 =Z1,Z2,Z3,x2在R中的象集 Zx2 =Z2,Z3,x3在R中的象集 Zx3=Z1,Z350設(shè)有 學(xué)生-課程數(shù)據(jù)庫(kù):(a)
20、學(xué)生關(guān)系Student學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept200215121李勇男20CS200215122劉晨女19IS200215123王敏女18MA200215125張立男19IS本課程使用的數(shù)據(jù)庫(kù)模式與實(shí)例51課程號(hào)Cno課程名Cname先行課Cpno學(xué)分Ccredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64課程關(guān)系Course學(xué)號(hào)Sno課程號(hào)Cno成績(jī)Grade200215121192200215121285200215121388200215
21、122290200215122380選修關(guān)系SC521. 選擇(Selection) 1) 選擇又稱為限制(Restriction)2) 選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為: X1Y153選擇(續(xù))例1 查詢信息系(IS系)全體學(xué)生 Sdept = IS (Student)或 5 =IS (Student) 結(jié)果: SnoSnameSsexSageSdept200215122劉晨女19IS200215125張立男19IS54選擇(續(xù))例2 查詢年齡小于20歲的學(xué)生 Sage 20(Student)
22、或 4 20(Student)結(jié)果: SnoSnameSsexSageSdept200215122劉晨女19IS200215123王敏女18MA200215125張立男19IS552. 投影(Projection) 1)投影運(yùn)算符的含義從R中選擇出若干屬性列,組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列562. 投影(Projection) 2)從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)試問,在S表的性別上投影后得到幾行幾列的表?57投影(續(xù))例3 查詢學(xué)生的姓名和所在系即求Student關(guān)系上,學(xué)生姓名和所在系兩個(gè)屬性上的投
23、影 Sname,Sdept(Student)或 2,5(Student)結(jié)果:SnameSdept李勇CS劉晨IS王敏MA張立IS58投影(續(xù))例4 查詢學(xué)生關(guān)系Student中都有哪些系 Sdept(Student)結(jié)果:SdeptCSISMA593. 連接(Join) 1)連接也稱為連接2)連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中,選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組:比較運(yùn)算符連接運(yùn)算從R和S的廣義笛卡爾積RS中,選?。≧關(guān)系)在A屬性組上的值,與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組 ABtr ts60
24、3. 連接(Join)(續(xù)) 3)兩類常用連接運(yùn)算等值連接(equijoin) 什么是等值連接為“”的連接運(yùn)算稱為等值連接 等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB A=Btr ts613. 連接(Join)(續(xù)) 自然連接(Natural join) 自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義R和S具有相同的屬性組B R S = | tr Rts StrB = tsB tr ts623. 連接(Join)(續(xù))4)一般的連接操
25、作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。 ABRS63例5關(guān)系R和關(guān)系S 如下所示:一般連接 R S的結(jié)果如下: CE64例5關(guān)系R和關(guān)系S 如下所示: 等值連接 R S 的結(jié)果如下:R.B=S.B 65例5關(guān)系R和關(guān)系S 如下所示: 自然連接 R S 的結(jié)果如下: 舍棄/遺失 b4,b5的信息66外連接如果把因連接條件不成立,而舍棄的R和S中元組,也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTER JOIN)。左外連接如果只把左邊關(guān)系R中,要舍棄的元組,保留就叫做左外連接(LEFT OUTER JOIN或LEF
26、T JOIN)右外連接如果只把右邊關(guān)系S中,要舍棄的元組,保留就叫做右外連接(RIGHT OUTER JOIN或RIGHT JOIN)。 67下圖是例5中關(guān)系R和關(guān)系S的外連接 R中舍棄的元組,E列無值S中舍棄的元組,B、E列有值683. 連接(Join)(續(xù))圖(b)是例5中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接 694. 除(Division)象集Zx 給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。 當(dāng)tX=x時(shí),x在R中的象集(Images Set)為: Zx=tZ|t R,tX=x 它表示R中屬性組X上,值為x的諸元組,在Z上分量的集合 x1在R中的象集 Zx1 =Z1,Z2,Z3,
27、x2在R中的象集 Zx2 =Z2,Z3,x3在R中的象集 Zx3=Z1,Z3704. 除(Division) 給定關(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上投影的集合,記作:RS = tr X | tr RY (S) Yx Yx:x在R中的象集,x = trX714. 除(Division)(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算RS72例6 RS在關(guān)系R中,A可以取四個(gè)值a1,a
28、2,a3,a4 a1的象集為 (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 =tr A|tr RBC(S)A在R的象集 =a1 73除的含義若 q = r s q x s=?R S= x (R) x ( ( x (R ) x S ) R)74分析提示不難看出,關(guān)系代數(shù)操作可實(shí)現(xiàn)把若干關(guān)系連接成一個(gè)大表,也可將一個(gè)大表通過投影和選擇的縱橫切割拆分成若干小表,例如:
29、在R S上投影可還原R和S。 R S R S B C 1 2 2 2 A B 1 2 2 2 1 2 A B C 1 2 2 2 1 2 2 2 2此例說明,若干局部模式可整合成模式,模式也可抽取出各局部模式。關(guān)系代數(shù)運(yùn)算體現(xiàn)了他們之間的映射。 755綜合舉例 以學(xué)生-課程數(shù)據(jù)庫(kù)為例 (P56)例7 查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼首先建立一個(gè)臨時(shí)關(guān)系K: 然后求:Sno,Cno(SC)K這里,投影Sno,Cno(SC) 去掉成績(jī)G,使結(jié)果商值只含有屬性SNO。 Cno 1 376綜合舉例(續(xù))例 7續(xù) Sno,Cno(SC)200215121象集1,2,3200215122象集2,3
30、 K=1,3 于是:Sno,Cno(SC)K=200215121SnoCno2002151211200215121220021512132002151222200215122377綜合舉例(續(xù))例 8 查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。 Sno(Cno=2(SC) 200215121,20021512278綜合舉例例9 查詢至少選修了一門其直接先行課為5號(hào)課程的學(xué)生姓名 (提示:可以想象先連接成一個(gè)大表,再依據(jù)查詢對(duì)大表橫向或縱向切割得到結(jié)果)。 Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course) SC Sno,Sname(Student)或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student) 關(guān)系代數(shù)表達(dá)式可不同,結(jié)果相同,但查詢效率不同,可先投影和選擇,再連接,這樣可使連接的記錄最少。 79綜合舉例(續(xù))例10 查詢選修了全部課程的學(xué)生號(hào)碼和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省徐州市邳州市2023-2024學(xué)年九年級(jí)上學(xué)期期中抽測(cè)英語試卷(含答案解析)
- 安全教育主題班會(huì)教案(15篇)
- 心理健康教育計(jì)劃
- 2024年山東省濱州市初中學(xué)業(yè)水平考試地理試卷含答案
- 2014-2018年燃料乙醇行業(yè)投資發(fā)展分析報(bào)告
- 2010-2012年碳四行業(yè)發(fā)展及企業(yè)競(jìng)爭(zhēng)力分析報(bào)告
- 2024至2030年中國(guó)工業(yè)傳動(dòng)軸行業(yè)投資前景及策略咨詢研究報(bào)告
- 教科版科學(xué)六年級(jí)上冊(cè)生物多樣性的意義
- 2024年中國(guó)高爐撥風(fēng)系統(tǒng)市場(chǎng)調(diào)查研究報(bào)告
- 2024年中國(guó)活水素市場(chǎng)調(diào)查研究報(bào)告
- 網(wǎng)絡(luò)安全與輿情應(yīng)對(duì)培訓(xùn)課件
- 2024上海浦東公安分局文員招聘筆試參考題庫(kù)含答案解析
- 皮內(nèi)注射法(青霉素皮試)操作規(guī)程及評(píng)分標(biāo)準(zhǔn)
- 2024時(shí)事政治必考試題庫(kù)帶答案(綜合題)
- 急性肺栓塞的應(yīng)急預(yù)案及流程
- 汽車計(jì)劃員崗位職責(zé)
- 2024年4月自考00322中國(guó)行政史答案及評(píng)分參考
- 2024年13起典型火災(zāi)案例及消防安全知識(shí)專題培訓(xùn)
- 2024年第九屆湖北省高三 (4月) 調(diào)研模擬考試 英語試卷(含答案及解析)
- 中華民族共同體概論課件專家版4第四講 天下秩序與華夏共同體的演進(jìn)(夏商周時(shí)期)
- 五年級(jí)道德與法治下冊(cè)第一單元單元整體教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論