版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫原理,第二章 關系數(shù)據(jù)庫,2,關系數(shù)據(jù)庫由來,系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的E.F.Codd Codd的心愿:為數(shù)據(jù)庫建立一個優(yōu)美的數(shù)學模型 關系數(shù)據(jù)庫應用數(shù)學方法來處理數(shù)據(jù)庫中的數(shù)據(jù) 關系代數(shù) 關系數(shù)據(jù)庫理論,1969, Edgar Frank Ted Codd invents the relational database,3,關系數(shù)據(jù)庫由來,E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970,6 5 pages ACM在198
2、3年把該文列為從1958年以來四分之一世紀中具有里程碑式意義的25篇論文之一 1974, IBM “System R” =SQL UC Berkely, “Ingres” =QUEL 兩系統(tǒng)雙雙獲得ACM的1988年 “軟件系統(tǒng)獎”,4,關系數(shù)據(jù)庫由來,The story from IBM 1977, 完成System R原型 1982, 推出第一個關系數(shù)據(jù)庫產(chǎn)品(SQL/DS for VSE and VM ) IBM產(chǎn)品化步伐緩慢的三個原因 重視信譽,重視質量,盡量減少故障 是個大公司,官僚體系龐大 內部已經(jīng)有層次數(shù)據(jù)庫產(chǎn)品,相關人員不積極,甚至反對,5,The story from Ora
3、cle,Oracle前身叫SDL,由Larry Ellison和另兩個編程人員于1977年創(chuàng)辦 開發(fā)自己的拳頭產(chǎn)品,在市場上大量銷售 開發(fā)關系數(shù)據(jù)庫產(chǎn)品 做事方法三個要點 不做研究,只做產(chǎn)品開發(fā) 以盡快推出產(chǎn)品為第一目標 產(chǎn)品要能在銷量較大的產(chǎn)品上運行,6,關系數(shù)據(jù)庫由來,The story from Ingres INGRES(Interactive Graphics Retrieval System) project at the University of California at Berkely at about the same time as System R Led to an
4、 academic version of INGRES Spawned the commercial products INGRES(now INGRES from Computer Associates) Ingres 創(chuàng)始人不愿將Quel語言交給標準委員會 M.Stonebracker,7,關系數(shù)據(jù)庫由來,1970年以后,E. F. Codd繼續(xù)完善和發(fā)展關系理論 1972,提出關系代數(shù)和關系演算,定義了關系的并、交、差、投影、選擇、連接的各種基本運算 創(chuàng)辦了一個研究所:The Relational Institute和一個公司Codd & Associations 1990年,出版了專著
5、The Relational Model for Database Management: Version 2 1981年11月9日在洛杉磯在召開的ACM年會上,獲圖靈獎,演講題目為“Relational Database: A Practical Foundation for Productivity”,8,關系數(shù)據(jù)庫由來,今天,國際上主流數(shù)據(jù)庫產(chǎn)品都采用了關系數(shù)據(jù)庫技術 典型實驗系統(tǒng) System R University INGRES 典型商用系統(tǒng) ORACLE, SYBASE, DB2, SQL Server INFORMIX,INGRES,9,C.J. Date,1941年出生在英格
6、蘭 關系數(shù)據(jù)庫技術領域中非常著名的獨立撰稿人、學者、顧問?,F(xiàn)在在加利福尼亞的海德斯堡工作。 參與了IBM的SQL/DS和DB2兩大產(chǎn)品的技術規(guī)劃和設計,于1983年5月離開IBM公司 30多年來,一直活躍在數(shù)據(jù)庫領域中。是最早認識到Codd在關系模型方面所做的開創(chuàng)性貢獻的學者之一 數(shù)據(jù)庫系統(tǒng)導論8ed 對象關系數(shù)據(jù)庫基礎:第三次宣言(1998) 。,10,第二章 關系數(shù)據(jù)庫,2.1 關系數(shù)據(jù)庫概述 2.2 關系數(shù)據(jù)結構 2.3 關系的完整性 2.4 關系代數(shù) 2.5 小結,11,2.1 關系數(shù)據(jù)庫概述,關系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng) 關系模型的組成 1.關系數(shù)據(jù)結構 2.關系操作集合
7、 3.關系完整性約束,12,1. 關系數(shù)據(jù)結構,單一的數(shù)據(jù)結構-關系 現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關系來表示 數(shù)據(jù)的邏輯結構-二維表 從用戶角度,關系模型中數(shù)據(jù)的邏輯結構是一張二維表。,13,2. 關系操作,1) 常用的關系操作 2) 關系操作的特點 3) 關系數(shù)據(jù)語言的種類 4) 關系數(shù)據(jù)語言的特點,14,關系操作 (續(xù)),1) 常用的關系操作 查詢 選擇、投影、連接、除、并、交、差 數(shù)據(jù)更新 插入、刪除、修改 查詢的表達能力是其中最主要的部分 2) 關系操作的特點 集合操作方式,即操作的對象和結果都是集合。 非關系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄 文件系統(tǒng)的數(shù)據(jù)操作方式,15,
8、關系操作(續(xù)),3) 關系數(shù)據(jù)語言的種類 關系代數(shù)語言 用對關系的運算來表達查詢要求 典型代表:ISBL 關系演算語言:用謂詞來表達查詢要求 元組關系演算語言 謂詞變元的基本對象是元組變量 典型代表:APLHA, QUEL 域關系演算語言 謂詞變元的基本對象是域變量 典型代表:QBE 具有關系代數(shù)和關系演算雙重特點的語言 典型代表:SQL,16,關系操作(續(xù)),4) 關系數(shù)據(jù)語言的特點 關系語言是一種高度非過程化的語言 存取路徑的選擇由DBMS的優(yōu)化機制來完成 用戶不必用循環(huán)結構就可以完成數(shù)據(jù)操作 能夠嵌入高級語言中使用 關系代數(shù)、元組關系演算和域關系演算三種語言在表達能力上完全等價,17,3
9、. 關系的三類完整性約束,實體完整性 通常由關系系統(tǒng)自動支持 參照完整性 早期系統(tǒng)不支持,目前大型系統(tǒng)能自動支持 用戶定義的完整性 反映應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束 用戶定義后由系統(tǒng)支持,18,第2章 關系數(shù)據(jù)庫,2.1 關系數(shù)據(jù)庫概述 2.2 關系數(shù)據(jù)結構 2.3 關系的完整性 2.4 關系代數(shù) 2.5 小結,19,2.2 關系數(shù)據(jù)結構,關系模型建立在集合代數(shù)的基礎上 關系數(shù)據(jù)結構的基本概念 關系 域(Domain) 笛卡爾積(Cartesian Product) 關系(Relation) 關系模式 關系數(shù)據(jù)庫,20, 域(Domain),域是一組具有相同數(shù)據(jù)類型的
10、值的集合。 例 整數(shù) 實數(shù) 指定長度的字符串集合 介于某個取值范圍的整數(shù) 男,女 介于某個取值范圍的日期,21,2. 笛卡爾積(Cartesian Product),1) 笛卡爾積 給定一組域D1,D2, ,Dn,這些域中可以有相同的。D1,D2, ,Dn的笛卡爾積為: D1D2 Dn (d1, d2, , dn)diDi, i1, 2, , n 所有域的所有取值的一個組合 不能重復 2) 元組(Tuple) 笛卡爾積中每一個元素(d1,d2, ,dn)叫作一個n元組(n-tuple)或簡稱元組。 3) 分量(Component) 笛卡爾積元素(d1,d2, ,dn)中的每一個值di叫作一個分
11、量。,22,笛卡爾積(續(xù)),例 給出三個域: D1=SUPERVISOR = 張清玫,劉逸 D2=SPECIALITY=計算機專業(yè),信息專業(yè) D3=POSTGRADUATE=李勇,劉晨,王敏 則D1,D2,D3的笛卡爾積為: D1D2D3 (張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨), (張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計算機專業(yè),李勇),(劉逸,計算機專業(yè),劉晨), (劉逸,計算機專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) ,23,笛卡爾
12、積(續(xù)),4) 基數(shù)(Cardinal number) 若Di(i1,2, ,n)為有限集,其基數(shù)為mi(i1,2, ,n),則D1D2 Dn的基數(shù)M為: 在上例中,基數(shù):22312,即D1D2D3共有22312個元組,24,笛卡爾積(續(xù)),5)笛卡爾積的表示方法 笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。 在上例中,12個元組可列成一張二維表,25,笛卡爾積(續(xù)),26,3. 關系(Relation),1) 關系 D1D2 Dn的子集叫作在域D1, D2, , Dn上的關系,表示為 R(D1,D2, ,Dn) R:關系名 n:關系的目或度(Degree),27
13、,關系(續(xù)),2) 元組 關系中的每個元素是關系中的元組,通常用 t 表示。 3) 單元關系與二元關系 當n=1時,稱該關系為單元關系(Unary relation)。 當n=2時,稱該關系為二元關系(Binary relation)。 4) 關系的表示 關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。,28,關系(續(xù)),5) 屬性 關系中不同列可以對應相同的域,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。 n目關系必有n個屬性。,29,關系(續(xù)),6) 碼 候選碼 若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼(Candidate k
14、ey)。 候選碼的諸屬性稱為主屬性(Prime attribute)。 不包含在任何侯選碼中的屬性稱為非主屬性(Non-Prime attribute)或非碼屬性(Non-key attribute)。 在最簡單的情況下,候選碼只包含一個屬性。在最極端的情況下,關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼(All-key)。 主碼 若一個關系有多個候選碼,則選定其中一個為主碼(Primary key)。,30,關系(續(xù)),例 在表2.1 的笛卡爾積中取出有實際意義的元組 來構造關系 關系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 關系名,屬性名 假
15、設:專業(yè)與導師:1:n,導師與研究生:1:n 于是:SAP關系可以包含三個元組 (張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨), (劉逸,信息專業(yè),王敏) ,31,關系(續(xù)),7) 三類關系 基本關系(基本表或基表) 實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示 查詢表 查詢結果對應的表 視圖表 由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數(shù)據(jù),32,關系(續(xù)),注意 關系是笛卡爾積的有限子集。無限關系在數(shù)據(jù)庫系統(tǒng)中是無意義的。 笛卡爾積不滿足交換律,即 (d1,d2, ,dn )(d2,d1, ,dn ) 但關系滿足交換律,即 (d1,d2 , ,di ,dj , ,dn)=(
16、d1,d2 , , dj , di, ,dn) (i,j = 1,2,n) 解決方法:為關系的每個列附加一個屬性名以取消關系元組的有序性,33,關系(續(xù)),8) 基本關系的性質 列是同質的(Homogeneous) 每一列中的分量是同一類型的數(shù)據(jù),來自同一個域。 不同的列可出自同一個域 其中的每一列稱為一個屬性 不同的屬性要給予不同的屬性名,34,基本關系的性質(續(xù)),例:上例中也可以只給出兩個域: 人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏 專業(yè)(SPECIALITY)=計算機專業(yè),信息專業(yè) SAP關系的導師屬性和研究生屬性都從PERSON域中取值。 為了避免混淆,必須給這兩個屬性取
17、不同的屬性名,而不能直接使用域名。 例如定義導師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE) SAP(SUPERVISOR-PERSON, SPECIALITY , POSTGRADUATE-PERSON),35,基本關系的性質(續(xù)), 列的順序無所謂 列的次序可以任意交換 任意兩個元組不能完全相同 由笛卡爾積的性質決定,36,基本關系的性質(續(xù)), 行的順序無所謂 行的次序可以任意交換 分量必須取原子值 每一個分量都必須是不可分的數(shù)據(jù)項。這是規(guī) 范條件中最基本的一條,表2.3 非規(guī)范化關
18、系,37,二、 關系模式,1什么是關系模式 2定義關系模式 3. 關系模式與關系,38,1什么是關系模式,關系模式(Relation Schema)是型,關系是值 關系模式是對關系的描述 元組集合的結構 屬性構成 屬性來自的域 屬性與域之間的映象關系 元組語義 完整性約束條件 屬性間的數(shù)據(jù)依賴關系集合,39,2定義關系模式,關系模式可以形式化地表示為: R(U,D,dom,F(xiàn)) R 關系名 U 組成該關系的屬性名集合 D 屬性組U中屬性所來自的域 dom 屬性向域的映象集合 F 屬性間的數(shù)據(jù)依賴關系集合。,40,定義關系模式 (續(xù)),例 導師和研究生出自同一個域人, 取不同的屬性名,并在模式中
19、定義屬性向域的映象,即說明它們分別出自哪個域,如: DOM(SUPERVISOR-PERSON) = DOM(POSTGRADUATE-PERSON) =PERSON,41,定義關系模式 (續(xù)),關系模式通??梢院営洖?R (U) 或 R (A1,A2,An) R 關系名 A1,A2,An 屬性名 注:域名及屬性向域的映象常常直接說明為屬 性的類型、長度。,42,3. 關系模式與關系,關系模式 對關系的描述 靜態(tài)的、穩(wěn)定的 關系 關系模式在某一時刻的狀態(tài)或內容 動態(tài)的、隨時間不斷變化的 關系模式和關系往往統(tǒng)稱為關系,通過上下文加以區(qū)別。,43,三、關系數(shù)據(jù)庫,關系數(shù)據(jù)庫 在一個給定的應用領域中
20、,所有關系的集合構成一個關系數(shù)據(jù)庫 關系數(shù)據(jù)庫的型與值,44,關系數(shù)據(jù)庫的型與值,關系數(shù)據(jù)庫的型: 關系數(shù)據(jù)庫模式 對關系數(shù)據(jù)庫的描述。 關系數(shù)據(jù)庫模式包括 若干域的定義 在這些域上定義的若干關系模式 關系數(shù)據(jù)庫的值: 關系模式在某一時刻對應的關系,45,第二章 關系數(shù)據(jù)庫,2.1 關系數(shù)據(jù)庫概述 2.2 關系數(shù)據(jù)結構 2.3 關系的完整性 2.4 關系代數(shù) 2.5 小結,46,2.3 關系的完整性,關系模型的完整性規(guī)則是對關系的某種約束條件。 關系模型中三類完整性約束: 實體完整性 參照完整性 用戶定義的完整性 實體完整性和參照完整性 關系模型必須滿足的完整性約束條件 稱作是關系的兩個不變性
21、,應該由關系系統(tǒng)自動支持。,47,一、 實體完整性,實體完整性規(guī)則(Entity Integrity) 若屬性A是基本關系R的主屬性,則屬性A不能取空值。 例 SAP(SUPERVISOR, SPECIALITY,POSTGRADUATE) POSTGRADUATE屬性為主碼(假設研究生不會重名),則其不能取空值。,48,實體完整性(續(xù)),關系模型必須遵守實體完整性規(guī)則的原因 (1) 實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應現(xiàn)實世界的一個實體集或多對多聯(lián)系。 (2) 現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標識。 (3) 相應地,關系模型中以候選碼作為唯一
22、性標識。 (4) 候選碼中的屬性即主屬性不能取空值。 所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性。,49,實體完整性(續(xù)),注意 實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。 例: 選修(學號,課程號,成績) “學號、課程號”為主碼, 則學號和課程號兩個屬性都不能取空值,50,二、 參照完整性,1. 關系間的引用 2. 外碼 3. 參照完整性規(guī)則,51,1. 關系間的引用,在關系模型中實體及實體間的聯(lián)系都是用關系來描述的,因此可能存在著關系與關
23、系間的引用。 例1 學生實體、專業(yè)實體 學生(學號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名),主碼,主碼,學生關系引用了專業(yè)關系的主碼“專業(yè)號”。 學生關系中的“專業(yè)號”值必須是確實存在的專業(yè)的專業(yè)號 ,即專業(yè) 關系中有該專業(yè)的記錄。,52,學生(學號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名),53,關系間的引用(續(xù)),例2 學生、課程、學生與課程之間的多對多聯(lián)系 學生(學號,姓名,性別,專業(yè)號,年齡) 課程(課程號,課程名,學分) 選修(學號,課程號,成績),54,學生,學生選課,課程,55,關系間的引用(續(xù)),例3 學生實體及其內部的一對多聯(lián)系 學生(學號,姓名,性別,
24、專業(yè)號,年齡,班長),“學號”是主碼,“班長”是外碼,它引用了本關系的“學號” “班長” 必須是確實存在的學生的學號,56,2外碼(Foreign Key),設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼 基本關系R稱為參照關系(Referencing Relation) 基本關系S稱為被參照關系(Referenced Relation) 或目標關系(Target Relation),57,外碼(續(xù)),例1:學生關系的“專業(yè)號與專業(yè)關系的主碼“專業(yè)號”相對應 “專業(yè)號”屬性是學生關系的外碼 專業(yè)關系是被參照關系,學生關系為參照關
25、系,58,外碼(續(xù)),例2: 選修關系的“學號” 與學生關系的主碼“學號”相對應 選修關系的“課程號”與課程關系的主碼“課程號”相對應 “學號”和“課程號”是選修關系的外碼 學生關系和課程關系均為被參照關系 選修關系為參照關系,59,外碼(續(xù)),例3:“班長”與本身的主碼“學號”相對應 “班長”是外碼 學生關系既是參照關系也是被參照關系,60,外碼(續(xù)),關系R和S不一定是不同的關系 目標關系S的主碼Ks 和參照關系的外碼F必須定義在同一個(或一組)域上 外碼并不一定要與相應的主碼同名 當外碼與相應的主碼屬于不同關系時,往往取相同的名字,以便于識別,61,3. 參照完整性規(guī)則,參照完整性規(guī)則
26、若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為: 或者取空值(F的每個屬性值均為空值) 或者等于S中某個元組的主碼值。,62,參照完整性規(guī)則(續(xù)),例1: 學生關系中每個元組的“專業(yè)號”屬性只取兩類值: (1)空值,表示尚未給該學生分配專業(yè) (2)非空值,這時該值必須是專業(yè)關系中某個元組的“專業(yè)號”值,表示該學生不可能分配一個不存在的專業(yè),63,參照完整性規(guī)則(續(xù)),例2 : 選修(學號,課程號,成績) “學號”和“課程號”可能的取值 : (1)選修關系中的主屬性,不能取空值 (2)只能取相應被參照
27、關系中已經(jīng)存在的主碼值,64,參照完整性規(guī)則(續(xù)),例3: 學生(學號,姓名,性別,專業(yè)號,年齡,班長) “班長”屬性值可以取兩類值: (1)空值,表示該學生所在班級尚未選出班長(按照前面給出的具體數(shù)據(jù),空值還可表示本人即是班長) (2)非空值,該值必須是本關系中某個元組的學號值,65,三、 用戶定義的完整性,用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。 關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應用程序承擔這一功能。 例: 課程(課程號,課程名,學分) “課程名”屬性必須取唯一值 非主屬性“課程名
28、”也不能取空值 “學分”屬性只能取值1,2,3,4,66,第二章 關系數(shù)據(jù)庫,2.1 關系數(shù)據(jù)庫概述 2.2 關系數(shù)據(jù)結構 2.3 關系的完整性 2.4 關系代數(shù) 2.5 小結,67,關系代數(shù),1. 關系代數(shù) 2. 運算的三要素 3. 關系代數(shù)運算的三個要素 4. 關系代數(shù)運算的分類,68,關系代數(shù)(續(xù)),1.關系代數(shù) 一種抽象的查詢語言 用對關系的運算來表達查詢 2運算的三要素 運算對象 運算符 運算結果,69,關系代數(shù)(續(xù)),3關系代數(shù)運算的三個要素 運算對象:關系 運算結果:關系 運算符:四類,70,關系代數(shù)(續(xù)),運算符(續(xù)) 集合運算符 將關系看成元組的集合 從關系的“水平”方向即行
29、的角度來進行運算 專門的關系運算符 不僅涉及行而且涉及列 算術比較符 輔助專門的關系運算符進行操作 邏輯運算符 輔助專門的關系運算符進行操作,71,表 關系代數(shù)運算符,關系代數(shù)(續(xù)),72,表 關系代數(shù)運算符(續(xù)),關系代數(shù)(續(xù)),73,關系代數(shù)(續(xù)),4關系代數(shù)運算的分類 傳統(tǒng)的集合運算 并、差、交、廣義笛卡爾積 專門的關系運算 選擇、投影、連接、除,74,關系代數(shù)(續(xù)),5.表示記號 (1) R,tR,tAi 設關系模式為R(A1,A2, ,An)。它的一個關系設為R。tR表示t是R的一個元組。tAi則表示元組t中相應于屬性Ai的一個分量。,75,關系代數(shù)(續(xù)),(2)A,tA,A 若A=
30、Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,則A稱為屬性列或域列。tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分量的集合。A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。,76,關系代數(shù)(續(xù)),(3) tr ts R為n目關系,S為m目關系。tr R,tsS, tr ts稱為元組的連接。它是一個n + m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。,77,關系代數(shù)(續(xù)),4)象集Zx 給定一個關系R(X,Z),X和Z為屬性組。當tX=x時,x在R中的象集(Images Set)為: Zx=tZ|
31、t R,tX=x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。,78,關系代數(shù)(續(xù)),x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集舉例,79,2.4 關系代數(shù),2.4.1 傳統(tǒng)的集合運算 并 差 交 廣義笛卡爾積 2.4.2 專門的關系運算,80,1. 并(Union),R和S 具有相同的目n(即兩個關系都有n個屬性) 相應的屬性取自同一個域 RS 仍為n目關系,由屬于R或屬于S的元組組成 RS = t|t Rt S ,81,并(續(xù)),R,S,RS,82,2. 差(Difference),R和S 具
32、有相同的目n 相應的屬性取自同一個域 R - S 仍為n目關系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS ,83,差(續(xù)),R,S,R-S,84,3. 交(Intersection),R和S 具有相同的目n 相應的屬性取自同一個域 RS 仍為n目關系,由既屬于R又屬于S的元組組成 RS = t|t Rt S RS = R (R-S),85,交 (續(xù)),R,S,R S,86,4. 廣義笛卡爾積(Extended Cartesian Product),R n目關系,k1個元組 S m目關系,k2個元組 RS 列:(n+m)列的元組的集合 元組的前n列是關系R的一個元組 后m列是
33、關系S的一個元組 行:k1k2個元組 RS = tr ts |tr R tsS ,87,廣義笛卡爾積 (續(xù)),R,S,R S,88,2.4 關系代數(shù),2.4.1 傳統(tǒng)的集合運算 2.4.2 專門的關系運算 選擇 投影 連接 除,89,1. 選擇(Selection),1) 選擇又稱為限制(Restriction) 2) 選擇運算符的含義 在關系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真 F:選擇條件,是一個邏輯表達式,基本形式為: ( X1Y1 ) ( X2Y2 ) :比較運算符(,或) X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替; :邏輯運算符
34、(或) :表示任選項 :表示上述格式可以重復下去,90,選擇(續(xù)),3) 選擇運算是從行的角度進行的運算 4) 舉例 設有一個學生-課程數(shù)據(jù)庫,包括學生關系Student、課程關系Course和選修關系SC。,91,選擇(續(xù)),(a),Student,92,選擇(續(xù)),(b),Course,93,選擇(續(xù)),(c),SC,94,選擇(續(xù)),例1 查詢信息系(IS系)全體學生 Sdept = IS (Student) 或 5 =IS (Student) 結果:,95,選擇(續(xù)),例2 查詢年齡小于20歲的學生 Sage 20(Student) 或 4 20(Student) 結果:,96,2.
35、投影(Projection),1)投影運算符的含義 從R中選擇出若干屬性列組成新的關系 A(R) = tA | t R A:R中的屬性列,97,2. 投影(Projection),2)投影操作主要是從列的角度進行運算 但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行),98,投影(續(xù)),3) 舉例 例3 查詢學生的姓名和所在系 即求Student關系上學生姓名和所在系兩個屬性上的投影 Sname,Sdept(Student) 或 2,5(Student) 結果:,99,投影(續(xù)),例4 查詢學生關系Student中都有哪些系 Sdept(Student) 結果:,100
36、,3. 連接(Join),1)連接也稱為連接 2)連接運算的含義 從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組 :比較運算符 連接運算從R和S的廣義笛卡爾積RS中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系的元組。,101,連接(續(xù)),3)兩類常用連接運算 等值連接(equijoin) 什么是等值連接 為“”的連接運算稱為等值連接 等值連接的含義 從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB
37、,A=B,102,連接(續(xù)),自然連接(Natural join) 什么是自然連接 自然連接是一種特殊的等值連接 兩個關系中進行比較的分量必須是相同的屬性組 在結果中把重復的屬性列去掉 自然連接的含義 R和S具有相同的屬性組B R S = | tr Rts StrB = tsB ,103,連接(續(xù)),4)一般的連接操作是從行的角度進行運算。 自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。,104,連接(續(xù)),5)舉例 例5,R,S,105,連接(續(xù)),R S,106,連接(續(xù)),等值連接 R S,107,連接(續(xù)),自然連接 R S,108,連接(續(xù)),外連接 如果把舍棄的元組也
38、保存在結果關系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTER JOIN)。 左外連接 如果只把左邊關系R中要舍棄的元組保留就叫做左外連接(LEFT OUTER JOIN或LEFT JOIN) 右外連接 如果只把右邊關系S中要舍棄的元組保留就叫做右外連接(RIGHT OUTER JOIN或RIGHT JOIN)。,109,連接(續(xù)),下圖是例5中關系R和關系S的外連接,110,連接(續(xù)),圖(b)是例5中關系R和關系S的左外連接,圖(c)是右外連接,111,4. 除(Division),1)除運算的含義 給定關系R (X,Y) 和S (Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 33723-2025樂器聲學品質主觀評價人員等級規(guī)范
- 荔灣區(qū)不可移動文物安全巡查制度
- 聊城輔警招錄考試試題及答案
- 2026廣西玉林市皮膚病醫(yī)院編外人員招聘3人參考考試題庫附答案解析
- 零售藥店醫(yī)保培訓課件
- 2026重慶市大足區(qū)科學技術局招聘公益性崗位工作人員2人參考考試題庫附答案解析
- 2026年曲靖市馬龍區(qū)婦幼保健計劃生育服務中心公益性崗位招聘(2人)備考考試試題附答案解析
- 2026山東事業(yè)單位統(tǒng)考濟寧市鄒城市招聘初級綜合類崗位83人參考考試題庫附答案解析
- 2026漢口銀行嘉魚支行招聘10人備考考試試題附答案解析
- 2026年度日照經(jīng)濟技術開發(fā)區(qū)事業(yè)單位公開招聘初級綜合類崗位人員(2人)備考考試題庫附答案解析
- 2025年浙江省嘉興市嘉善縣保安員考試真題附答案解析
- 要謙虛不要驕傲課件
- 2026國家保安員資格考試題庫及參考答案【完整版】
- 微生物檢驗質控措施分析
- 2026年黑龍江農(nóng)業(yè)工程職業(yè)學院單招職業(yè)技能考試題庫及參考答案詳解1套
- 婦科腫瘤保留生育功能治療策略
- 宮頸癌病理課件
- 2025版中國經(jīng)皮冠狀動脈介入治療指南課件
- 2025東航股份綜合管理部招聘筆試歷年參考題庫附帶答案詳解
- YY/T 1973-2025醫(yī)用下肢外骨骼機器人
- 解讀-2025年版《普通高中課程標準》化學解讀
評論
0/150
提交評論