中國科技大學(xué)MBA電子商務(wù).ppt
《中國科技大學(xué)MBA電子商務(wù).ppt》由會員分享,可在線閱讀,更多相關(guān)《中國科技大學(xué)MBA電子商務(wù).ppt(52頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、0 第二章 關(guān)系數(shù)據(jù)庫 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.2 關(guān)系的完整性 2.3 關(guān)系代數(shù) 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 1 第二章 關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫系統(tǒng)是目前應(yīng)用最普遍、最有發(fā)展前 途的數(shù)據(jù)庫系統(tǒng),而關(guān)系數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)即是 關(guān)系模型。與其它模型相比,關(guān)系模型具有堅實(shí) 的理論基礎(chǔ) 關(guān)系運(yùn)算理論。因此本章是這門 課程的重點(diǎn)內(nèi)容,也是后面所有介紹關(guān)系數(shù)據(jù)庫 概念的基礎(chǔ)知識。 關(guān)系模型是由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān) 系的完整性三部分組成。 2 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 從用戶的角度看,關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一張 二維表,由于關(guān)系模式是建立在集合代數(shù)的基 礎(chǔ)上,這里從集合論角度給出關(guān)系數(shù)據(jù)結(jié)構(gòu)的 形式化
2、定義,以及有關(guān)關(guān)系模式、關(guān)系、元組、 屬性、候選碼、主碼、外碼等相關(guān)概念。 1.關(guān)系 (1)域 (domain) 定義 2.1 域是一組具有相同數(shù)據(jù)類型的值的集 合。 3 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 (2)笛卡爾積 (Cartesian product) 定義 2.2 給定一組域 D1 ,D2 , ,Dn ,這些域可以完 全不同,也可以部分或全部相同。 D1 ,D2 , ,Dn 的笛卡爾積為: 其中每一個元素 (d1 ,d2 , ,dn )叫作一個 n元組, 簡稱元組,元素中的每一個值 di叫作一個分量。 若 Di (i=1,2, ,n)為有限集,其基數(shù)為 mi (i=1,2, ,n), 則
3、D1 D2 Dn 的基數(shù)為 ( ) 1 2 n 1 2 n i iD D D d , d , , d d D ,i 1 , 2 , , n 1 n i i Mm 4 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 【 例 1】 D1 陳新 ,劉成賓 ( 導(dǎo)師集合 ) D2 計算機(jī) ,信息 ( 專業(yè)集合 ) D3 李勇 ,劉英 ,韓小海 ( 研究生集合 ) D1 D2 D3 (陳新 ,計算機(jī) ,李勇 ),(陳新 ,計算機(jī) ,劉 英 ),(陳新 ,計算機(jī) ,韓小海 ),(陳新 ,信息 ,李勇 ),(陳新 , 信息 ,劉英 ),(陳新 ,信息 ,韓小海 ), (劉成賓 ,計算機(jī) ,李 勇 ),(劉成賓 ,計算機(jī) ,劉英
4、 ),(劉成賓 ,計算機(jī) ,韓小 海 ),(劉成賓 ,信息 ,李勇 ),(劉成賓 ,信息 ,劉英 ),(劉成 賓 ,信息 ,韓小海 ) 基數(shù)為: 2 2 3 12 是元 組 是分 量 是分 量是分 量 5 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 笛卡爾積可表示為 一個二維表 。 表中 的每行對應(yīng)一個元 組 , 表中的每列對 應(yīng)一個域 。 導(dǎo) 師 專 業(yè) 研究生 陳 新 計算機(jī) 李 勇 陳 新 計算機(jī) 劉 英 陳 新 計算機(jī) 韓小海 陳 新 信 息 李 勇 陳 新 信 息 劉 英 陳 新 信 息 韓小海 劉成賓 計算機(jī) 李 勇 劉成賓 計算機(jī) 劉 英 劉成賓 計算機(jī) 韓小海 劉成賓 信 息 李 勇 劉成賓 信 息
5、 劉 英 劉成賓 信 息 韓小海 6 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 (3)關(guān)系 (relation) 定義 2.3 笛卡爾積的子集叫作在域 D1 ,D2 , ,Dn 上的關(guān)系,用 R(D1 ,D2 , ,Dn ) 表示。其中 R為 關(guān)系名, n是關(guān)系的目或度。 關(guān)系中的每個元素是關(guān)系中的元組,通常 用 t表示。 關(guān)系是笛卡爾積的一個有意義的子集 , 所以關(guān) 系也是一張二維表。表中的每行對應(yīng)一個元組 , 每列對應(yīng)一個域。因為域可以相同,必須為域 取名,稱為屬性, n目關(guān)系必有 n個屬性。 7 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 在關(guān)系 DB中,碼是關(guān)系模型的一個重要概念。 候選碼: 關(guān)系中的某一屬性組,若
6、它的值唯一 地標(biāo)識了一個元組,而其真子集不行,則該屬 性組稱為候選碼。 主碼: 若關(guān)系中有多個候選碼,則選定其中一 個為關(guān)系的主碼。 主屬性與非主屬性: 包含在任何一個候選碼中 的屬性稱為主屬性,不包含在任何候選碼中的 屬性稱為非主屬性。 8 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 【 例 2】 從前面 例 1的笛卡爾積中選取一個有意義的子 集。 (由于一個研究生只師從于一個導(dǎo)師,學(xué)習(xí)某一個專 業(yè),所以笛卡爾積中許多元組沒有實(shí)際意義,我們從中選 出有實(shí)際意義的元組來構(gòu)造關(guān)系 ) 假設(shè)導(dǎo)師與專業(yè)是 1:1的關(guān)系,導(dǎo)師與研究生是 1:n的關(guān)系。則得到下 列表: 導(dǎo) 師 專 業(yè) 研究生 陳 新 計算機(jī) 李 勇
7、陳 新 計算機(jī) 劉 英 劉成賓 信 息 韓小海 SPA Key=研究生 9 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 關(guān)系的類型: 基本關(guān)系: 實(shí)際存在的表,它是實(shí)際存儲數(shù) 據(jù)的邏輯表示。 查詢表: 查詢結(jié)果對應(yīng)的表。 視圖表: 是由基本表或其他視圖表導(dǎo)出地表, 是虛表,不對應(yīng)實(shí)際存儲的數(shù)據(jù)。 10 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系 關(guān)系的性質(zhì) 屬性值是原子的,不可分解 沒有重復(fù)元組 沒有行序 理論上沒有列序,為方便,使用時有列序 列是同質(zhì)的 11 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.關(guān)系模式 關(guān)系模式是 “ 型 ” 的概念,是對關(guān)系的描述。 關(guān)系是 “ 值 ” 的概念,是關(guān)系模式在某一時刻 的狀態(tài)或內(nèi)容。 關(guān)系模式是靜態(tài)
8、的、相對穩(wěn)定的。 而關(guān)系是動態(tài)的,隨時間的變化而不斷變化。 因為關(guān)系操作在不斷更新著數(shù)據(jù)庫中的數(shù)據(jù), 以使得數(shù)據(jù)庫能真實(shí)地反映現(xiàn)實(shí)世界的最新狀 態(tài)。 12 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系模式 關(guān)系需要描述哪些方面? 因為 關(guān)系是元組的集合,也就是笛卡爾積的一 個子集,所以 關(guān)系模式必須指出這些元組集合 的結(jié)構(gòu) (即屬性的構(gòu)成、屬性來自的域、屬性與域之 間的映射關(guān)系) 。 其次, 關(guān)系模式的關(guān)系隨時間而變化,但客觀 世界許多既有事實(shí)限定了這種變化必須滿足一 定的完整性約束條件,這些約束條件或者通過 對屬性取值范圍的限定,或者通過屬性間的相 互關(guān)連反映出來,所以 關(guān)系模式應(yīng)當(dāng)刻劃這些 完整性約束條件
9、。 13 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系模式 關(guān)系模式應(yīng)當(dāng)是一個五元組,可形式化地表示 為: R(U, D, DOM, F) 屬性名集合 關(guān)系名 U中屬性來自的域 屬性間數(shù)據(jù)的 依賴關(guān)系集 屬性向 域 的 映象集合 簡記為: R(U) 或 R(A1, A2, , An) 14 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系模式 3.關(guān)系數(shù)據(jù)庫 在一個給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間 聯(lián)系的關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫。 關(guān)系數(shù)據(jù)庫也有型與值之分。 關(guān)系數(shù)據(jù)庫的 型 稱為關(guān)系數(shù)據(jù)庫模式,是對關(guān)系 數(shù)據(jù)庫的描述,它包括若干域的定義以及在這些 域上定義的若干關(guān)系模式。 關(guān)系數(shù)據(jù)庫的 值 是這些關(guān)系模式在某一時刻對應(yīng) 的
10、關(guān)系的集合,通常就稱為關(guān)系數(shù)據(jù)庫。 15 第二章 關(guān)系數(shù)據(jù)庫 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.2 關(guān)系的完整性 2.3 關(guān)系代數(shù) 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 16 2.2 關(guān)系的完整性 關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條 件。關(guān)系模型中可以有三類完整性約束: 實(shí)體 完整性 、 參照完整性 和 用戶自定義完整性 。 其中 實(shí)體完整性 和 參照完整性 是關(guān)系模型必須 滿足的完整性約束條件,被稱作是關(guān)系的兩個 不變性 ,是由關(guān)系系統(tǒng)自動支持的。 17 2.2 關(guān)系的完整性 1.實(shí)體完整性 實(shí)體完整性規(guī)則: 若屬性 A是基本關(guān)系 R的主屬 性,則屬性 A不能取空值。 實(shí)體完整性規(guī)則要求關(guān)系中的元組在組
11、成主碼 的屬性上不能取空值。若取空值,則主碼的唯 一性將遭到破壞,這是對關(guān)系主碼的約束。所 謂空值就是 “ 不知道 ” 或 “ 無意義 ” 的值。 例: 在學(xué)生選課關(guān)系: SC(學(xué)號,課號,成績 ) 中, (學(xué)號,課號 )為主碼,則 學(xué)號 和 課號 兩個 屬性都不能取空值。 18 2.2 關(guān)系的完整性 2.參照完整性 現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在 關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來 描述。這就自然存在著關(guān)系與關(guān)系間的引用。 先看幾個 例子 。 19 2.2 關(guān)系的完整性 參照完整性 【例 1】 設(shè)有學(xué)生和專業(yè)兩個關(guān)系,其中主碼用 下劃線標(biāo)識: 學(xué)生 (學(xué)號 ,姓名,性別, 專
12、業(yè)號 ,年齡 ) 專業(yè) (專業(yè)號 ,專業(yè)名 ) 這兩個關(guān)系之間存在著屬性的引用,即學(xué)生關(guān) 系引用了專業(yè)關(guān)系的主碼 “ 專業(yè)號 ” 。 顯然,學(xué)生關(guān)系中專業(yè)號的取值,必須是確實(shí) 存在的專業(yè)的專業(yè)號,即專業(yè)關(guān)系中有該專業(yè) 的記錄。也就是說, 學(xué)生關(guān)系中的某個屬性的 取值需要參照專業(yè)關(guān)系的屬性取值。 20 2.2 關(guān)系的完整性 參照完整性 【例 2】 “學(xué)生 課程 ” 數(shù)據(jù)庫中有三個關(guān)系: 學(xué)生 (學(xué)號 ,姓名,性別,專業(yè)號,年齡 ) 課程 (課程號 ,課程名,學(xué)分 ) 選修 (學(xué)號,課程號 ,成績 ) 這三個關(guān)系之間也存在著屬性的引用,即選修 關(guān)系引用了學(xué)生關(guān)系的主碼 “ 學(xué)號 ” 和課程關(guān) 系的
13、主碼 “ 課程號 ” 。 因此, 選修關(guān)系中某些屬性的取值需要參照學(xué) 生關(guān)系和課程關(guān)系的屬性取值。 21 2.2 關(guān)系的完整性 參照完整性 不僅兩個或兩個以上的關(guān)系之間可以存在引用 關(guān)系,同一關(guān)系內(nèi)部屬性間也可能存在引用關(guān) 系。 【 例 3】 設(shè)有關(guān)系 學(xué)生 2(學(xué)號 ,姓名 ,性別 ,專業(yè)號 ,年齡 ,班長 ) 其中 “ 學(xué)號 ” 屬性是主碼, “ 班長 ” 屬性表示 該學(xué)生所在班級的班長的學(xué)號,它引用了本關(guān) 系 “ 學(xué)號 ” 屬性,即 “ 班長 ” 必須是確實(shí)存在 的學(xué)生的學(xué)號。 22 2.2 關(guān)系的完整性 參照完整性 定義 2.4 設(shè) F 是基本關(guān)系 R 的一個或一組屬性, 但不是關(guān)系
14、R 的碼,如果 F 與基本關(guān)系 S 的主 碼 Ks相對應(yīng),則稱 F 是基本關(guān)系 R 的 外碼 ,并 稱基本關(guān)系 R 為參照關(guān)系 , 基本關(guān)系 S 為被參 照關(guān)系或目標(biāo) 關(guān)系。關(guān)系 R 和 S 不一定是不同 的關(guān)系。 學(xué)生關(guān)系 專業(yè)關(guān)系 專業(yè)號 課程關(guān)系 選修關(guān)系 學(xué)號 課程號 學(xué)生關(guān)系 參照關(guān) 系 被參照關(guān) 系 專業(yè)號 是學(xué) 生關(guān)系的 外 碼 學(xué)號 和 課程號 是選修關(guān)系的 外碼 參照關(guān) 系 被參照關(guān) 系 被參照關(guān) 系 23 2.2 關(guān)系的完整性 參照完整性 讓一個關(guān)系的主碼出現(xiàn)在另一個關(guān)系中,以實(shí) 現(xiàn)關(guān)系中數(shù)據(jù)的聯(lián)系,這些在另一個關(guān)系中起 聯(lián)系作用的屬性組,就稱為 外碼 。 在關(guān)系 DB中,
15、表之間的聯(lián)系是通過 公共屬性 實(shí) 現(xiàn)的,這個 公共屬性就是一個表的主碼和另一 個表的外碼 。這是關(guān)系 DB的特點(diǎn)。 24 2.2 關(guān)系的完整性 參照完整性 參照完整性規(guī)則 就是定義外碼與主碼之間的引用 規(guī)則 參照完整性規(guī)則: 若屬性 F( 或 屬性組)是基本 關(guān)系 R 的外碼,它與基本關(guān)系 S 的主碼 Ks相對應(yīng), 則對于 R 中每個元組在 F 上的 值必須為: 或者取 空值( F 的 每個屬性 值 均為空 值); 或者等于 S 中某個 元組的主碼 值。 規(guī)則要求: 外碼 值必須是另一個關(guān)系的 主碼的有 效 值,或者是 “ 空值 ” 。 這是對關(guān)系 外碼的約束。 外碼 值是否允許為空值,應(yīng)視具
16、體情況而言。 25 2.2 關(guān)系的完整性 參照完整性 對照前例: 【 例 1】 : 學(xué)生關(guān)系中的專業(yè)號可取兩類值: 空值, 表示尚未給該學(xué)生分配專業(yè) 非空值, 必須是專業(yè)關(guān)系中某個元組的專業(yè)號值 【 例 2】 : 按 參照完整性,選修 關(guān)系中的學(xué)號和課號也可取 兩類值,空值或被 參照 關(guān)系中已存在的值。但由于學(xué)號 和課號是 選修 關(guān)系中的主屬性,按實(shí)體 完整性不能取 空 值,所以實(shí)際上 學(xué)號和課號只有一種 取 值 。 【 例 3】 : 學(xué)生 2關(guān)系中的班長屬性也可取兩類值: 空值, 表示尚未選出班長 非空值, 必須是本關(guān)系中某個元組的學(xué)號值 26 2.2 關(guān)系的完整性 3.用戶自定義完整性 用
17、戶自定義完整性就是針對某一具體關(guān)系 數(shù)據(jù)庫的約束條件。它反映某一具體應(yīng)用所涉 及的數(shù)據(jù)必須滿足的語義要求。 27 第二章 關(guān)系數(shù)據(jù)庫 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.2 關(guān)系的完整性 2.3 關(guān)系代數(shù) 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 28 2.3 關(guān)系代數(shù) 關(guān)系代數(shù)是關(guān)系數(shù)據(jù)庫系統(tǒng)查詢語言的理論基礎(chǔ) , 而關(guān)系的數(shù)據(jù)查詢語言是關(guān)系代數(shù)的具體實(shí)現(xiàn)。 關(guān)系模型給出了關(guān)系操作的能力,這個能力是用 關(guān)系數(shù)據(jù)語言來表示的。 關(guān)系數(shù)據(jù)語言包括: 關(guān)系代數(shù)語言: 是用對關(guān)系的運(yùn)算來表達(dá)查詢要 求的方式 關(guān)系演算語言: 是用謂詞來表達(dá)查詢要求的方式 具有 關(guān)系代數(shù)和關(guān)系演算雙重特征特點(diǎn)的語言 SQL 29 2.3 關(guān)系
18、代數(shù) 關(guān)系代數(shù)運(yùn)算符 集合 運(yùn)算符: , , 專門的 關(guān)系運(yùn)算符: , , , 比較 運(yùn)算符: , , , , , 邏輯 運(yùn)算符: , , 30 2.3 關(guān)系代數(shù) 引入記號: R(A1 ,A2 , ,An)是關(guān)系模式, R為一個關(guān)系, t R 表示 t是 R的一個元組, tAi表示元組 t中相應(yīng)于 屬性 Ai的一個分量。 若 A=Ai1 , Ai2 , , Aik ,則 A稱為屬性列, tA=(tAi1, tAi2, , tAik)表示元組 t在屬性 列 A上諸分量的集合。 表示 A1 ,A2 , ,An去掉 Ai1 , Ai2 , , Aik后剩余的部分屬性組。 31 2.3 關(guān)系代數(shù) R為
19、 n目 關(guān)系, S為 m目 關(guān)系。 tr R , ts S 。 trts稱為元組的連接。它是一個 (n+m)列的元組, 前 n個分量 為 R中的一個 n元組,后 m個分量 為 S中 的一個 m元組。 給定一個關(guān)系 R(X,Z),X和 Z是屬性組,定義 tX=x 時, x在 R中的象集為: Zx= tZ t R ,tX=x 它表示 R中屬性組 X上值為 x的 諸元組在 Z上分量 的集合 32 2.3 關(guān)系代數(shù) 1.傳統(tǒng)的集合運(yùn)算 關(guān)系的并: R S t t R t S 由屬于 R或?qū)儆?S的元組組成。即由關(guān)系 R和 S的所 有元組合并,再除去重復(fù)元組,組成的一個新 關(guān)系。 關(guān)系的差: R-S t
20、 t R t S 由屬于 R而不屬于 S的所有元組組成。即關(guān)系 R中 除去與 S關(guān)系中相同的元組,組成的一個新關(guān)系。 關(guān)系的交: R S t t R t S 由即屬于 R又屬于 S的元組組成。即在兩個關(guān)系 R 與 S中取相同的元組,組成的一個新關(guān)系。 33 2.3 關(guān)系代數(shù) 傳統(tǒng)的集合運(yùn)算 廣義 笛卡爾積: R S trts tr R ts S 兩個分別為 n目和 m目的 關(guān)系 R 和 S 的 廣義 笛卡 爾積是一個 (n+m)列的元組的集合。元組的前 n 列是關(guān)系 R 的一個元組,后 m 列是關(guān)系 S 的一 個元組。 若 R 有 k1個元組, S 有 k2個元組,則 R S 有 k1 k2個
21、元組。 34 2.3 關(guān)系代數(shù) 傳統(tǒng)的集合運(yùn)算 傳統(tǒng)的集合運(yùn)算舉例: 設(shè)有兩個關(guān)系 R和 S,計 算 R S, R S, R-S, R S。 A B C a1 a1 a2 b1 b2 b2 c1 c2 c1 A B C a1 a1 a2 b2 b3 b2 c2 c2 c1 A B C a1 a1 a2 a1 b1 b2 b2 b3 c1 c2 c1 c2 A B C a1 a2 b2 b2 c2 c1 A B C a1 b1 c1 R S R S R S R-S 35 2.3 關(guān)系代數(shù) 傳統(tǒng)的集合運(yùn)算 A B C A B C a1 a1 a1 a1 a1 a1 a2 a2 a2 b1 b1 b
22、1 b2 b2 b2 b2 b2 b2 c1 c1 c1 c2 c2 c2 c1 c1 c1 a1 a1 a2 a1 a1 a2 a1 a1 a2 b2 b3 b2 b2 b3 b2 b2 b3 b2 c2 c2 c1 c2 c2 c1 c2 c2 c1 R S A B C a1 a1 a2 b1 b2 b2 c1 c2 c1 A B C a1 a1 a2 b2 b3 b2 c2 c2 c1 R S 36 2.3 關(guān)系代數(shù) 2.專門的關(guān)系運(yùn)算 關(guān)系的選擇: 從關(guān)系中找出滿足給定條件的所有元組。其中 的條件 F是以邏輯表達(dá)式給出,那些使邏輯表 達(dá)式的值為真的元組被選取。這是從行的角度 進(jìn)行運(yùn)算,
23、即水平方向抽取元組。 關(guān)系的投影: 從關(guān)系中挑選若干屬性組成新的關(guān)系。這是從 列的角度進(jìn)行運(yùn)算,相當(dāng)于對關(guān)系進(jìn)行垂直分 解。 ( ) ( )F R t t R F t 真 ( ) A R t A t R 37 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 關(guān)系的連接: 連接是將兩個關(guān)系的屬性名拼接成一個更寬的 關(guān)系,生成的新關(guān)系中包含滿足連接條件的元 組。運(yùn)算過程是通過連接條件 A B 來控制的, 連接條件中將出現(xiàn)不同關(guān)系中的公共屬性名, 連接是對關(guān)系的結(jié)合。連接運(yùn)算是從行的角度 進(jìn)行運(yùn)算。 r s r s r sABR S t t t R t S t A t B 38 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算
24、自然連接: 自然連接是除去重復(fù)屬性的等值連接,它是連 接運(yùn)算的一個特例,是最常用的連接運(yùn)算。自 然 連接同時從行和列的角度進(jìn)行運(yùn)算。 r s r s r sR S t t t R t S t A t A 39 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 連接運(yùn)算舉例: 設(shè)有關(guān)系 R和 S,計算: A B C a1 a1 a2 a2 b1 b2 b3 b4 5 6 8 12 B E b1 b2 b3 b3 b5 3 7 10 2 2 R S CERS A R.B C S.B E a1 a1 a1 a1 a2 b1 b1 b2 b2 b3 5 5 6 6 8 b2 b3 b2 b3 b3 7 10 7 10
25、 10 40 RS.R B S BRS A B C E a1 a1 a2 a2 b1 b2 b3 b3 5 6 8 8 3 7 10 2 A R.B C S.B E a1 a1 a2 a2 b1 b2 b3 b3 5 6 8 8 b1 b2 b3 b3 3 7 10 2 A B C a1 a1 a2 a2 b1 b2 b3 b4 5 6 8 12 B E b1 b2 b3 b3 b5 3 7 10 2 2 R S 41 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 關(guān)系的除: 設(shè)有關(guān)系 R(X,Y)與關(guān)系 S(Z),其中 X,Y,Z為屬性集合。假設(shè) Y和 Z具有相同的屬性 個數(shù),且對應(yīng)屬性出自相同的域。關(guān)
26、系 R(X,Y) 除以 S(Z)所得的商關(guān)系,是關(guān)系 R在屬性 X上投 影的一個子集,該子集和 S(Z)的笛卡爾積必須 包含在 R(X,Y)中。記為: 除操作同時從行和列的角度進(jìn)行運(yùn)算。 ( )r r x YR S t X t R Y S 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 除運(yùn)算舉例: 設(shè)有關(guān)系 R和 S,計算 R S 解 :第一步 ,找出 R中屬性 A可取的值的集合 a1,a2,a3,a4; 第二步 ,求 A=a1,a2,a3,a4 時的象集。 a1 的象集 :(b1,c2),(b2,c3),(b2,c1) a2 的象集 :(b3,c2),(b2,c3) a3 的象集 :(b4,c6) a4
27、 的象集 :(b6,c6) 第三步 ,S在 BC上的投影 :(b1,c2),(b2,c1),(b2,c3) 可看出,只有 a1的象集包含 S在 BC上的投影,所以 R S a1 A B C a1 a2 a3 a1 a4 a2 a1 b1 b3 b4 b2 b6 b2 b2 c2 c7 c6 c3 c6 c3 c1 B C D b1 b2 b2 c2 c1 c3 d1 d1 d2 R S 43 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 又解: T=1,2, ,r-s(R) W=(T S)-R V= 1,2, ,r-s(W) R S=T-V 即: R S 1,2, ,r-s(R)-1,2, ,r-s(R)
28、(1,2, ,r-s(R) S)-R) a1,a2,a3,a4 A B C a2 a2 a3 a3 a3 a4 a4 a4 b1 b2 b1 b2 b2 b1 b2 b2 C2 C1 C2 C1 C3 C2 C1 C3 a2,a3,a4 a1 44 2.3 關(guān)系代數(shù) 3.關(guān)系代數(shù)表達(dá)式綜合應(yīng)用實(shí)例 用關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合而成的式子 稱為關(guān)系代數(shù)表達(dá)式,這種表達(dá)式的運(yùn)算結(jié)果 仍然是一個關(guān)系??梢杂藐P(guān)系代數(shù)表達(dá)式表示 對數(shù)據(jù)庫的查詢和更新操作 。 【 例 】 設(shè) “ 學(xué)生 課程 ” 數(shù)據(jù)庫中的三個關(guān)系為: 學(xué)生關(guān)系 S(S , SNAME, SEX, AGE, DEPT) 課程關(guān)系 C(C ,
29、 CNAME, PC ) 選修關(guān)系 SC(S , C , GRADE) 下面用關(guān)系代數(shù)表達(dá)式表示 “ 學(xué)生 -課程 ” 數(shù)據(jù) 庫中的查詢要求。 2.3 關(guān)系代數(shù) 關(guān)系代數(shù)應(yīng)用實(shí)例 (1)查詢選修了課程號為 c2 的學(xué)生所在系 解: (2)查詢選修了課程號為 c1 或 c2 的學(xué)生學(xué)號 解: (3)查詢至少選修了課程號為 c1 ,c2 的學(xué)生學(xué)號 解:構(gòu)造臨時關(guān)系 則結(jié)果為 # # # ,S C C 2 S S DS C S # # # C C C 1 C C 2KC # , # # , # # # # S C S C C C C 1 C C 2S C K S C C # # # S C C 1
30、 C C 2 SC 先做投影、選 擇,再做連接 看題意 ,找 出操作對 象 K為 : C# C1 C2 46 2.3 關(guān)系代數(shù) 專門的關(guān)系運(yùn)算 (4)查詢至少選修了一門先行課課號為 c6 的學(xué)生姓名 解: (5)將新課程元組 (C10,信息安全 ,C8)插入到關(guān) 系 C中 解: C (C10,信息安全 ,C8) (6)將學(xué)號為 S3, 選修課程號為 C5的成績 80改為 85分 解: SC-(S3,C5,80) (S3,C5,85) 更新操作要分兩步實(shí)現(xiàn),先刪除原元組,再插入新 元組。 # # # # , # # ,S N S C P C C 6 S C S S NC S C S 1 2 3
31、4 5 6 7 47 第二章 關(guān)系數(shù)據(jù)庫 2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.2 關(guān)系的完整性 2.3 關(guān)系代數(shù) 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 48 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 前面討論了關(guān)系模型三要素,關(guān)系 DBMS簡 稱關(guān)系系統(tǒng),和關(guān)系模型是兩個密切相關(guān)而又 不同的概念。一般說,支持關(guān)系模型的 DBMS稱 為關(guān)系系統(tǒng),但因為關(guān)系模型中并非每一部分 都同等重要,所以不苛求一個實(shí)際的關(guān)系 DBMS 必須完全支持關(guān)系模型,也不苛求一個完全支 持關(guān)系模型的系統(tǒng)才稱為關(guān)系系統(tǒng)。下面給出 關(guān)系系統(tǒng)的最小要求及分類的定義。 49 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 1.關(guān)系系統(tǒng)的定義 定義 2.5 一個系統(tǒng)可以定義為關(guān)系系
32、統(tǒng),當(dāng)且 僅當(dāng)它: 支持關(guān)系數(shù)據(jù)結(jié)構(gòu) 支持選擇、投影和連接運(yùn)算,對這些運(yùn)算不必 要求定義任何物理存取路徑。 支持?jǐn)?shù)據(jù)結(jié)構(gòu)而無運(yùn)算功能不能稱關(guān)系系統(tǒng), 支持運(yùn)算但要定義物理存取路徑也不能稱為關(guān) 系系統(tǒng)。但不要求三種運(yùn)算和關(guān)系代數(shù)完全一 致,只要求有等價的三種運(yùn)算即可。 50 2.4 關(guān)系數(shù)據(jù)庫管理系統(tǒng) 2.關(guān)系系統(tǒng)的分類 前面的定義是關(guān)系系統(tǒng)的最小要求,許多 系統(tǒng)不同程度地超過了要求,按 E.F.Codd的思 想,可把關(guān)系系統(tǒng)分類: 表示系統(tǒng): 僅支持結(jié)構(gòu),不支持集合級操作, 不能稱關(guān)系系統(tǒng)。 (最小 )關(guān)系系統(tǒng): 即前面定義中的關(guān)系系統(tǒng)。 關(guān)系完備系統(tǒng): 支持關(guān)系數(shù)據(jù)結(jié)構(gòu)及所有關(guān) 系代數(shù)操作。 全關(guān)系系統(tǒng): 支持關(guān)系模型的所有特征。 51 第二章結(jié)束
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會全文PPT
- 2025年寒假安全教育班會全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專題PPT
- 主播直播培訓(xùn)提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機(jī)關(guān)工委2024年度年終黨建工作總結(jié)述職匯報
- 心肺復(fù)蘇培訓(xùn)(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學(xué)生活介紹
- XX單位2024年終專題組織生活會理論學(xué)習(xí)理論學(xué)習(xí)強(qiáng)黨性凝心聚力建新功
- 2024年XX單位個人述職述廉報告
- 一文解讀2025中央經(jīng)濟(jì)工作會議精神(使社會信心有效提振經(jīng)濟(jì)明顯回升)
- 2025職業(yè)生涯規(guī)劃報告自我評估職業(yè)探索目標(biāo)設(shè)定發(fā)展策略
- 2024年度XX縣縣委書記個人述職報告及2025年工作計劃
- 寒假計劃中學(xué)生寒假計劃安排表(規(guī)劃好寒假的每個階段)
- 中央經(jīng)濟(jì)工作會議九大看點(diǎn)學(xué)思想強(qiáng)黨性重實(shí)踐建新功