版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System,xx大學(xué)信息學(xué)院,第二章 關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫簡(jiǎn)介,提出關(guān)系模型的是美國(guó)IBM公司的E.F.Codd 1970年提出關(guān)系數(shù)據(jù)模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970 之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念 1972年提出了關(guān)系的第一、第二、第三范式 1974年提出了關(guān)系的BC范式,第二章 關(guān)系數(shù)據(jù)庫,2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義 2.2 關(guān)系操作
2、 2.3 關(guān)系的完整性 2.4 關(guān)系代數(shù) 2.5 *關(guān)系演算 2.6 小結(jié),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ù)庫 2.1.4 關(guān)系模型的存儲(chǔ)結(jié)構(gòu),2.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ǔ)上,關(guān)系(續(xù)),1. 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation),1. 域(Domain),域是一組具有相同數(shù)據(jù)類型的值的集合。例: 整數(shù) 實(shí)數(shù) 介于某個(gè)
3、取值范圍的整數(shù) 指定長(zhǎng)度的字符串集合 男,女 .,2. 笛卡爾積(Cartesian Product),笛卡爾積 給定一組域D1,D2,Dn,允許其中某些域是相同的。 D1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一個(gè)組合 不能重復(fù),笛卡爾積(續(xù)),元組(Tuple) 笛卡爾積中每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組 (張清玫,計(jì)算機(jī)專業(yè),李勇)、 (張清玫,計(jì)算機(jī)專業(yè),劉晨) 等 都是元組 分量(Component) 笛卡爾積元素(d1,d2,dn)中的每一個(gè)值di 叫作一個(gè)分量 張清玫、計(jì)算機(jī)專
4、業(yè)、李勇、劉晨等都是分量,笛卡爾積(續(xù)),基數(shù)(Cardinal number) 若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為: 笛卡爾積的表示方法 笛卡爾積可表示為一張二維表 表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域,笛卡爾積(續(xù)),例如,給出3個(gè)域: D1=導(dǎo)師集合SUPERVISOR=張清玫,劉逸 D2=專業(yè)集合SPECIALITY=計(jì)算機(jī)專業(yè),信息專業(yè) D3=研究生集合POSTGRADUATE=李勇,劉晨,王敏 D1,D2,D3的笛卡爾積為,笛卡爾積(續(xù)),D1D2D3 (張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨), (張清玫
5、,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨), (劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) 基數(shù)為22312,笛卡爾積(續(xù)),3. 關(guān)系(Relation),(1) 關(guān)系 D1D2Dn的子集叫作在域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í),稱
6、該關(guān)系為單元關(guān)系(Unary relation) 或一元關(guān)系 當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binary relation),關(guān)系(續(xù)),(4)關(guān)系的表示 關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每 列對(duì)應(yīng)一個(gè)域 (5)屬性 關(guān)系中不同列可以對(duì)應(yīng)相同的域 為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute) n目關(guān)系必有n個(gè)屬性,關(guān)系(續(xù)),(6)碼 候選碼(Candidate key) 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼 簡(jiǎn)單的情況:候選碼只包含一個(gè)屬性 全碼(All-key) 最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱
7、為全碼(All-key),關(guān)系(續(xù)),(6)碼(續(xù)) 主碼 若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key) 主屬性 候選碼的諸屬性稱為主屬性(Prime attribute) 不包含在任何侯選碼中的屬性稱為非主屬性(Non-Prime attribute)或非碼屬性(Non-key attribute),關(guān)系(續(xù)),D1,D2,Dn的笛卡爾積的某個(gè)子集才有實(shí)際含義 例:表2.1 的笛卡爾積沒有實(shí)際意義 取出有實(shí)際意義的元組來構(gòu)造關(guān)系 關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 假設(shè):導(dǎo)師與專業(yè):n:1, 導(dǎo)師與研究生:1:n 主
8、碼:POSTGRADUATE(假設(shè)研究生不會(huì)重名),關(guān)系(續(xù)),(7)三類關(guān)系 基本關(guān)系(基本表或基表) 實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示 查詢表 查詢結(jié)果對(duì)應(yīng)的表 視圖表 由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì) 應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù),關(guān)系(續(xù)),(8)基本關(guān)系的性質(zhì) 列是同質(zhì)的(Homogeneous) 不同的列可出自同一個(gè)域 其中的每一列稱為一個(gè)屬性 不同的屬性要給予不同的屬性名 列的順序無所謂,,列的次序可以任意交換 任意兩個(gè)元組的候選碼不能相同 行的順序無所謂,行的次序可以任意交換,基本關(guān)系的性質(zhì)(續(xù)), 分量必須取原子值 這是規(guī)范條件中最基本的一條 表2.3 非規(guī)范化關(guān)系,小表
9、,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ù)庫 2.1.4 關(guān)系模型的存儲(chǔ)結(jié)構(gòu),2.1.2 關(guān)系模式,1什么是關(guān)系模式 2定義關(guān)系模式 3. 關(guān)系模式與關(guān)系,1什么是關(guān)系模式,關(guān)系模式(Relation Schema)是型 關(guān)系是值 關(guān)系模式是對(duì)關(guān)系的描述 元組集合的結(jié)構(gòu) 屬性構(gòu)成 屬性來自的域 屬性與域之間的映象關(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ù)),例:
10、 導(dǎo)師和研究生出自同一個(gè)域人, 取不同的屬性名,并在模式中定義屬性向域 的映象,即說明它們分別出自哪個(gè)域: DOM(SUPERVISOR-PERSON) = DOM(POSTGRADUATE-PERSON) = PERSON,定義關(guān)系模式 (續(xù)),關(guān)系模式通??梢院?jiǎn)記為 R (U) 或 R (A1,A2,An) R: 關(guān)系名 A1,A2,An : 屬性名 注:域名及屬性向域的映象常常直接說明為 屬性的類型、長(zhǎng)度,3. 關(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)系 通過上下文加以區(qū)別,2.1
11、 關(guān)系數(shù)據(jù)結(jié)構(gòu),2.1.1 關(guān)系 2.1.2 關(guān)系模式 2.1.3 關(guān)系數(shù)據(jù)庫 2.1.4 關(guān)系模型的存儲(chǔ)結(jié)構(gòu),2.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ù)庫模式,是對(duì)關(guān)系數(shù)據(jù)庫的描述 關(guān)系數(shù)據(jù)庫的值: 關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常稱為關(guān)系數(shù)據(jù)庫,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ù)庫 2.1.4 關(guān)系模型的存儲(chǔ)結(jié)構(gòu),2.1.4 關(guān)系模型的存儲(chǔ)結(jié)構(gòu),關(guān)系數(shù)據(jù)庫的物理組織 有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)中一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件,將物理數(shù)據(jù)組織交給操
12、作系統(tǒng)完成 有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)從操作系統(tǒng)那里申請(qǐng)若干個(gè)大的文件,自己劃分文件空間,組織表、索引等存儲(chǔ)結(jié)構(gòu),并進(jìn)行存儲(chǔ)管理,第二章 關(guān)系數(shù)據(jù)庫,2.1 關(guān)系模型概述 2.2 關(guān)系操作 2.3 關(guān)系的完整性 2.4 關(guān)系代數(shù) 2.5 *關(guān)系演算 2.6 小結(jié),2.2.1 基本的關(guān)系操作,常用的關(guān)系操作 查詢操作:選擇、投影、連接、除、并、差、交、笛卡爾積 選擇、投影、并、差、笛卡爾基是5種基本操作 數(shù)據(jù)更新:插入、刪除、修改 關(guān)系操作的特點(diǎn) 集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式,2.2.2 關(guān)系數(shù)據(jù)庫語言的分類,關(guān)系代數(shù)語言 用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢要求 代表:ISBL 關(guān)
13、系演算語言:用謂詞來表達(dá)查詢要求 元組關(guān)系演算語言 謂詞變?cè)幕緦?duì)象是元組變量 代表:APLHA, QUEL 域關(guān)系演算語言 謂詞變?cè)幕緦?duì)象是域變量 代表:QBE 具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言 代表:SQL(Structured Query Language),第二章 關(guān)系數(shù)據(jù)庫,2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義 2.2 關(guān)系操作 2.3 關(guān)系的完整性 2.4 關(guān)系代數(shù) 2.5 *關(guān)系演算 2.6 小結(jié),關(guān)系的三類完整性約束,實(shí)體完整性和參照完整性 關(guān)系模型必須滿足的完整性約束條件稱為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持 用戶定義的完整性 應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具
14、體領(lǐng)域中的語義約束,2.3 關(guān)系的完整性,2.3.1 實(shí)體完整性 2.3.2 參照完整性 2.3.3 用戶定義的完整性,2.3.1 實(shí)體完整性,規(guī)則2.1 實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值 空值就是“不知道”或“不存在”或“無意義”的值 例: 選修(學(xué)號(hào),課程號(hào),成績(jī)) “學(xué)號(hào)、課程號(hào)”為主碼 “學(xué)號(hào)”和“課程號(hào)”兩個(gè)屬性都不能取空值,實(shí)體完整性(續(xù)),實(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
15、)關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。 (4)主碼中的屬性即主屬性不能取空值。 主屬性取空值,就說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性,2.3 關(guān)系的完整性,2.3.1 實(shí)體完整性 2.3.2 參照完整性 2.3.3 用戶定義的完整性,2.3.2 參照完整性,1. 關(guān)系間的引用 2. 外碼 3. 參照完整性規(guī)則,1. 關(guān)系間的引用,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,自然存在著關(guān)系與關(guān)系間的引用。 例2.1 學(xué)生實(shí)體、專業(yè)實(shí)體 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名),學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)
16、號(hào)”。 學(xué)生關(guān)系中的“專業(yè)號(hào)”值必須是確實(shí)存在的專業(yè)的專業(yè)號(hào),主碼,主碼,關(guān)系間的引用(續(xù)),例2.2 學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī)),關(guān)系間的引用(續(xù)),例2.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),2外碼(Foreign Key),設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是R的外碼 基本關(guān)系R稱為參
17、照關(guān)系(Referencing Relation) 基本關(guān)系S稱為被參照關(guān)系(Referenced Relation) 或目標(biāo)關(guān)系(Target Relation),外碼(續(xù)),例2.1中學(xué)生關(guān)系的“專業(yè)號(hào)”與專業(yè)關(guān)系的主碼“專業(yè)號(hào)”相對(duì)應(yīng) “專業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼 專業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系,外碼(續(xù)),例2.2中 選修關(guān)系的“學(xué)號(hào)” 與學(xué)生關(guān)系的主碼“學(xué)號(hào)”相對(duì)應(yīng) 選修關(guān)系的“課程號(hào)”與課程關(guān)系的主碼“課程號(hào)”相對(duì)應(yīng) “學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系的外碼 學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系 選修關(guān)系為參照關(guān)系,外碼(續(xù)),例2.3中“班長(zhǎng)”與本身的主碼“學(xué)號(hào)”相對(duì)應(yīng) “班
18、長(zhǎ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í),往往取相同的名 字,以便于識(shí)別,3. 參照完整性規(guī)則,規(guī)則2.2 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為: 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值,參照完整性規(guī)則(續(xù)),例2.1中 學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取兩類值
19、: (1)空值,表示尚未給該學(xué)生分配專業(yè) (2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配一個(gè)不存在的專業(yè),參照完整性規(guī)則(續(xù)),例2.2 中 選修(學(xué)號(hào),課程號(hào),成績(jī)) “學(xué)號(hào)”和“課程號(hào)”可能的取值 : (1)選修關(guān)系中的主屬性,不能取空值 (2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值,參照完整性規(guī)則(續(xù)),例2.3 中 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng)) “班長(zhǎng)”屬性值可以取兩類值: (1)空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng) (2)非空值,該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值,2.3 關(guān)系的完整性,2.3.1 實(shí)體完整性 2.3.2 參照完整性
20、 2.3.3 用戶定義的完整性,2.3.3 用戶定義的完整性,針對(duì)某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求 關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需由應(yīng)用程序承擔(dān)這一功能,用戶定義的完整性(續(xù)),例: 課程(課程號(hào),課程名,學(xué)分) “課程號(hào)”屬性必須取唯一值 非主屬性“課程名”也不能取空值 “學(xué)分”屬性只能取值1,2,3,4,第二章 關(guān)系數(shù)據(jù)庫,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é),2.4 關(guān)系代數(shù),關(guān)系代數(shù)是一種抽象的查詢語言,它用對(duì)關(guān)系
21、的運(yùn)算來表達(dá)查詢 關(guān)系代數(shù) 運(yùn)算對(duì)象是關(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)算不僅涉及行而且涉及列,表2.4 關(guān)系代數(shù)運(yùn)算符,2.4 關(guān)系代數(shù),2.4 關(guān)系代數(shù),2.4.1傳統(tǒng)的集合運(yùn)算 2.4.2專門的關(guān)系運(yùn)算,(1) 并(Union),R和S 具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性) 相應(yīng)的屬性取自同一個(gè)域 RS 仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成 RS = t|t Rt S ,并(續(xù)),R,S,RUS,(2)差(Difference),R和S 具有相同的目n 相應(yīng)的屬性取自同一個(gè)
22、域 R - S 仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS ,差(續(xù)),R,S,R-S,(3) 交(Intersection),R和S 具有相同的目n 相應(yīng)的屬性取自同一個(gè)域 RS 仍為n目關(guān)系,由既屬于R又屬于S的元組組成 RS = t|t Rt S RS = R (R-S),交 (續(xù)),R,S,R S,(4) 笛卡爾積(Cartesian Product),嚴(yán)格地講應(yīng)該是廣義的笛卡爾積(Extended Cartesian Product) R: n目關(guān)系,k1個(gè)元組 S: m目關(guān)系,k2個(gè)元組 RS 列:(n+m)列元組的集合 元組的前n列是關(guān)系R的一個(gè)元
23、組 后m列是關(guān)系S的一個(gè)元組 行:k1k2個(gè)元組 RS = tr ts |tr R tsS ,笛卡爾積 (續(xù)),R,S,R S,2.4 關(guān)系代數(shù),2.4.1 傳統(tǒng)的集合運(yùn)算 2.4.2 專門的關(guān)系運(yùn)算,2.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è)分量,專門的關(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)表示
24、元組t在屬性列A上諸分量的集合。 A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。,專門的關(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元組。,專門的關(guān)系運(yùn)算(續(xù)),(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上分量的集合,專門的關(guān)系運(yùn)算(續(xù)),x1在R中的象集 Zx1 =Z1,
25、Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集舉例,專門的關(guān)系運(yùn)算(續(xù)),1. 選擇 2. 投影 3. 連接 4. 除運(yùn)算,專門的關(guān)系運(yùn)算(續(xù)),(a),Student,學(xué)生-課程數(shù)據(jù)庫: 學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC,專門的關(guān)系運(yùn)算(續(xù)),Course,(b),專門的關(guān)系運(yùn)算(續(xù)),(c),SC,1. 選擇(Selection),選擇又稱為限制(Restriction) 選擇運(yùn)算符的含義 在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真 F:選擇條件,是一個(gè)邏輯表達(dá)式,取值為“真”或“假
26、” 基本形式為:X1Y1 表示比較運(yùn)算符,它可以是,或,選擇(續(xù)),選擇運(yùn)算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,是從行的角度進(jìn)行的運(yùn)算,選擇(續(xù)),例2.4 查詢信息系(IS系)全體學(xué)生。 Sdept = IS (Student) 結(jié)果:,選擇(續(xù)),例2.5 查詢年齡小于20歲的學(xué)生。 Sage 20(Student) 結(jié)果:,2. 投影(Projection),從R中選擇出若干屬性列組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列 投影操作主要是從列的角度進(jìn)行運(yùn)算 投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行),投影(續(xù)),例2.6 查詢學(xué)生的
27、姓名和所在系。 即求Student關(guān)系上學(xué)生姓名和所在系兩個(gè)屬性上的投影 Sname,Sdept(Student) 結(jié)果:,投影(續(xù)),例2.7 查詢學(xué)生關(guān)系Student中都有哪些系。 Sdept(Student) 結(jié)果:,3. 連接(Join),連接也稱為連接 連接運(yùn)算的含義 從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組 :比較運(yùn)算符 連接運(yùn)算從R和S的廣義笛卡爾積RS中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上的值滿足比較關(guān)系的元組,連接(續(xù)),兩類常用連接運(yùn)算 等值連接(equijoi
28、n) 為“”的連接運(yùn)算稱為等值連接 從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB ,A=B,連接(續(xù)),自然連接(Natural join) 自然連接是一種特殊的等值連接 兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組 在結(jié)果中把重復(fù)的屬性列去掉 自然連接的含義 R和S具有相同的屬性組B R S = U-B | tr Rts StrB = tsB ,連接(續(xù)),一般的連接操作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。,連接(續(xù)),R,S,例2.8關(guān)系R和關(guān)系S 如下所示:,連
29、接(續(xù)),一般連接 R S的結(jié)果如下:,CE,連接(續(xù)),等值連接 R S 的結(jié)果如下:,連接(續(xù)),自然連接 R S的結(jié)果如下:,連接(續(xù)),懸浮元組(Dangling tuple) 兩個(gè)關(guān)系R和S在做自然連接時(shí),關(guān)系R中某些元組有可能在S中不存在公共屬性上值相等的元組,從而造成R中這些元組在操作時(shí)被舍棄了,這些被舍棄的元組稱為懸浮元組。,連接(續(xù)),外連接(Outer Join) 如果把懸浮元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),就叫做外連接 左外連接(LEFT OUTER JOIN或LEFT JOIN) 只保留左邊關(guān)系R中的懸浮元組 右外連接(RIGHT OUTER J
30、OIN或RIGHT JOIN) 只保留右邊關(guān)系S中的懸浮元組,連接(續(xù)),下圖是例2.8中關(guān)系R和關(guān)系S的外連接,連接(續(xù)),圖(b)是例2.8中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接,圖(b) 圖(c),4. 除運(yùn)算(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=trX|trRY(S)Yx Yx:x在R中的象集,x = trX,除運(yùn)算(續(xù)),除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算,除運(yùn)算(續(xù)),例2.9設(shè)關(guān)系R、S分別為下圖的(a)和(b),RS的結(jié)果為圖(c),R,RS,S,除運(yùn)算(續(xù)),在關(guān)系R中,A可以取四個(gè)值a1,a2,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 =a1,綜合舉例,以學(xué)生-課程數(shù)據(jù)庫為例 例2.10 查詢至少
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技創(chuàng)新的成果轉(zhuǎn)化與商業(yè)應(yīng)用
- 二零二五年度崇明區(qū)危險(xiǎn)化學(xué)品運(yùn)輸服務(wù)標(biāo)準(zhǔn)合同4篇
- 2025版公共建筑消防系統(tǒng)改造分包合同
- 二零二五年度智能建筑施工現(xiàn)場(chǎng)安全文明施工規(guī)范合同范本3篇
- 2025年度個(gè)人工程車租賃與維修一體化服務(wù)合同4篇
- 2025年二零二五年度科技園區(qū)實(shí)驗(yàn)室設(shè)備租賃合同2篇
- 二零二五年度餐飲企業(yè)員工培訓(xùn)服務(wù)合同9篇
- 漢中2025年陜西漢中市中心醫(yī)院招聘19人筆試歷年參考題庫附帶答案詳解
- 二零二五年度高端電子產(chǎn)品采購(gòu)合同會(huì)簽紀(jì)要3篇
- 文山2025年云南文山市公安局第一批警務(wù)輔助人員招聘47人筆試歷年參考題庫附帶答案詳解
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評(píng)標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識(shí)點(diǎn)默寫小紙條(答案背誦版)
- 江蘇省無錫市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語版:中國(guó)文化概論之中國(guó)的傳統(tǒng)節(jié)日
- 《奧特萊斯業(yè)態(tài)淺析》課件
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護(hù)理匯報(bào)
- 養(yǎng)殖場(chǎng)獸醫(yī)服務(wù)合同
- 哪吒之魔童降世
評(píng)論
0/150
提交評(píng)論