數(shù)據(jù)庫(kù)sql(系統(tǒng)學(xué)習(xí)很全)(2)講解課件_第1頁(yè)
數(shù)據(jù)庫(kù)sql(系統(tǒng)學(xué)習(xí)很全)(2)講解課件_第2頁(yè)
數(shù)據(jù)庫(kù)sql(系統(tǒng)學(xué)習(xí)很全)(2)講解課件_第3頁(yè)
數(shù)據(jù)庫(kù)sql(系統(tǒng)學(xué)習(xí)很全)(2)講解課件_第4頁(yè)
數(shù)據(jù)庫(kù)sql(系統(tǒng)學(xué)習(xí)很全)(2)講解課件_第5頁(yè)
已閱讀5頁(yè),還剩120頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)庫(kù)概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算(略)2.6 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(略)2.7 小結(jié)關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國(guó)IBM公司的E.F.Codd1970年提出關(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ù)庫(kù)簡(jiǎn)介關(guān)系數(shù)據(jù)庫(kù)應(yīng)用數(shù)學(xué)方法

2、來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)80年代后,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介典型實(shí)驗(yàn)系統(tǒng)System RUniversity INGRES典型商用系統(tǒng)ORACLESYBASEDB2SQL ServerINFORMIXINGRES第2章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)庫(kù)概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)2.7 小結(jié)2.1 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系模型的組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束1. 關(guān)系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)-關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示數(shù)據(jù)的邏

3、輯結(jié)構(gòu)-二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。 2. 關(guān)系操作1) 常用的關(guān)系操作2) 關(guān)系操作的特點(diǎn)3) 關(guān)系數(shù)據(jù)語(yǔ)言的種類4) 關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)關(guān)系操作 (續(xù))1) 常用的關(guān)系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分關(guān)系操作(續(xù))2) 關(guān)系操作的特點(diǎn)集合操作方式,即操作的對(duì)象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式關(guān)系操作(續(xù))3) 關(guān)系數(shù)據(jù)語(yǔ)言的種類關(guān)系代數(shù)語(yǔ)言 用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求典型代表:ISBL關(guān)系操作(續(xù))關(guān)系數(shù)據(jù)語(yǔ)言的種類(續(xù))關(guān)系演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢

4、要求元組關(guān)系演算語(yǔ)言謂詞變?cè)幕緦?duì)象是元組變量典型代表:APLHA, QUEL域關(guān)系演算語(yǔ)言 謂詞變?cè)幕緦?duì)象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言典型代表:SQL關(guān)系操作(續(xù))4) 關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)關(guān)系語(yǔ)言是一種高度非過(guò)程化的語(yǔ)言存取路徑的選擇由DBMS的優(yōu)化機(jī)制來(lái)完成用戶不必用循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級(jí)語(yǔ)言中使用關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語(yǔ)言在表達(dá)能力上完全等價(jià)3. 關(guān)系的三類完整性約束實(shí)體完整性通常由關(guān)系系統(tǒng)自動(dòng)支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動(dòng)支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束

5、用戶定義后由系統(tǒng)支持第2章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)庫(kù)概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)2.7 小結(jié)2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型建立在集合代數(shù)的基礎(chǔ)上關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念關(guān)系關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)1.關(guān)系2.關(guān)系模式3.關(guān)系數(shù)據(jù)庫(kù)一、 關(guān)系 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation) 域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例整數(shù)實(shí)數(shù)指定長(zhǎng)度的字符串集合介于某個(gè)取值范圍的整數(shù)男,女介于某個(gè)取值范圍的日期2. 笛卡爾積(Cartesi

6、an Product)1) 笛卡爾積 給定一組域D1,D2, ,Dn,這些域中可以有相同的。D1,D2, ,Dn的笛卡爾積為: D1D2 Dn (d1, d2, , dn)diDi, i1, 2, , n 所有域的所有取值的一個(gè)組合不能重復(fù)笛卡爾積(續(xù))例 給出三個(gè)域: D1=SUPERVISOR = 張清玫,劉逸 D2=SPECIALITY=計(jì)算機(jī)專業(yè),信息專業(yè) D3=POSTGRADUATE=李勇,劉晨,王敏則D1,D2,D3的笛卡爾積為:D1D2D3 (張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨), (張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專

7、業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨), (劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) 笛卡爾積(續(xù))2) 元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2, ,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組。 例3) 分量(Component)笛卡爾積元素(d1,d2, ,dn)中的每一個(gè)值di叫作一個(gè)分量。 例笛卡爾積(續(xù))4) 基數(shù)(Cardinal number)若Di(i1,2, ,n)為有限集,其基數(shù)為mi(i1,2, ,n),則D1D2 Dn的基數(shù)M為:在上

8、例中,基數(shù):22312,即D1D2D3共有22312個(gè)元組笛卡爾積(續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。在上例中,12個(gè)元組可列成一張二維表 笛卡爾積(續(xù))3. 關(guān)系(Relation)1) 關(guān)系D1D2 Dn的子集叫作在域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í),稱該關(guān)系為單元關(guān)系(Unary relation)。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Bina

9、ry relation)。關(guān)系(續(xù))4) 關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。關(guān)系(續(xù))5) 屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。關(guān)系(續(xù))6) 碼候選碼若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(Candidate key)。候選碼的諸屬性稱為主屬性(Prime attribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-key attribute)。 在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)

10、關(guān)系模式的候選碼,稱為全碼(All-key)。關(guān)系(續(xù))碼(續(xù))主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key)。關(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)每一列中的分量是同一類型的數(shù)據(jù),來(lái)自同一個(gè)域。 不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù)) 列的順序無(wú)所謂列的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如OR

11、ACLE),增加新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù)) 任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì)。例如Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件。關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù)) 行的順序無(wú)所謂行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù)) 分量必須取原

12、子值每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī) 范條件中最基本的一條二、 關(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)成屬性來(lái)自的域 屬性與域之間的映象關(guān)系元組語(yǔ)義完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合三、關(guān)系數(shù)據(jù)庫(kù)1. 關(guān)系數(shù)據(jù)庫(kù)(略)2. 關(guān)系數(shù)據(jù)庫(kù)的型與值(略)第2章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)庫(kù)概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)2.7 小結(jié)2.3 關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的

13、某種約束條件。關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。關(guān)系的完整性(續(xù))1. 實(shí)體完整性2. 參照完整性3. 用戶定義的完整性一、 實(shí)體完整性實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設(shè)研究生不會(huì)重名),則其不能取空值。實(shí)體完整性(續(xù))關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(1) 實(shí)體完整性規(guī)

14、則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系。(2) 現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3) 相應(yīng)地,關(guān)系模型中以候選碼作為唯一性標(biāo)識(shí)。實(shí)體完整性(續(xù))關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(續(xù))(4) 候選碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無(wú)意義”的值。如果主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性。實(shí)體完整性(續(xù))注意實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。例: 選修(學(xué)號(hào),課程號(hào),成績(jī)) “

15、學(xué)號(hào)、課程號(hào)”為主碼, 則學(xué)號(hào)和課程號(hào)兩個(gè)屬性都不能取空值二、 參照完整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則1. 關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的,因此可能存在著關(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è)名)學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名)關(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ī)) 學(xué)生學(xué)生選課課程關(guān)系間的引用(續(xù))例

16、3 學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多) 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))2外碼外碼設(shè)F是基本關(guān)系R的一個(gè)或一組屬性, 但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼(Foreign Key)基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為被參照關(guān)系(Referenced Relation)或目標(biāo)關(guān)系(Target Relation)。外碼(續(xù))說(shuō)明關(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í),往往取

17、相同的名字,以便于識(shí)別。學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名) 學(xué)生學(xué)生選課課程3. 參照完整性規(guī)則參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。參照完整性規(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ù))例例1學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只能取下面兩類值:(1)空值,表示尚未給該學(xué)生分配專業(yè);(2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配到

18、一個(gè)不存在的專業(yè)中。參照完整性規(guī)則(續(xù))例2 由于“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系中的主屬性,按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。三、 用戶定義的完整性用戶定義的完整性是針對(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)這一功能。用戶定義的完整性(續(xù))例 課程(課程號(hào),課程名,學(xué)分)“課程名”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值1,2,3,4第2章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)庫(kù)概述2.2 關(guān)系數(shù)據(jù)結(jié)構(gòu)2

19、.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 關(guān)系演算2.6 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)2.7 小結(jié)關(guān)系代數(shù)(續(xù))1. 關(guān)系代數(shù)2. 運(yùn)算的三要素3. 關(guān)系代數(shù)運(yùn)算的三個(gè)要素4. 關(guān)系代數(shù)運(yùn)算的分類5. 表示記號(hào)關(guān)系代數(shù)(續(xù))1.關(guān)系代數(shù)一種抽象的查詢語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢關(guān)系代數(shù)(續(xù))2運(yùn)算的三要素運(yùn)算對(duì)象運(yùn)算符運(yùn)算結(jié)果關(guān)系代數(shù)(續(xù))3關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類關(guān)系代數(shù)(續(xù))運(yùn)算符(續(xù))集合運(yùn)算符將關(guān)系看成元組的集合從關(guān)系的“水平”方向即行的角度來(lái)進(jìn)行運(yùn)算專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行

20、操作集合運(yùn)算符-并差交廣義笛卡爾積比較運(yùn)算符 大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表2.4 關(guān)系代數(shù)運(yùn)算符 關(guān)系代數(shù)(續(xù))專門的關(guān)系運(yùn)算符 選擇投影連接除邏輯運(yùn)算符 非與或運(yùn)算符含義運(yùn)算符含義表2.4 關(guān)系代數(shù)運(yùn)算符(續(xù)) 關(guān)系代數(shù)(續(xù))關(guān)系代數(shù)(續(xù))4關(guān)系代數(shù)運(yùn)算的分類 傳統(tǒng)的集合運(yùn)算并、差、交、廣義笛卡爾積專門的關(guān)系運(yùn)算選擇、投影、連接、除關(guān)系代數(shù)(續(xù))5表示記號(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)系代數(shù)(續(xù))(2)A,tA,A 若A=Ai1,A

21、i2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,則A稱為屬性列或域列。tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分量的集合。A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。 關(guān)系代數(shù)(續(xù))(3) tr ts R為n目關(guān)系,S為m目關(guān)系。tr R,tsS, tr ts稱為元組的連接。它是一個(gè)n + m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。 關(guān)系代數(shù)(續(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

22、中屬性組X上值為x的諸元組在Z上分量的集合。 2.4 關(guān)系代數(shù)2.4.1 傳統(tǒng)的集合運(yùn)算 2.4.2 專門的關(guān)系運(yùn)算2.4 關(guān)系代數(shù)2.4.1 傳統(tǒng)的集合運(yùn)算 2.4.2 專門的關(guān)系運(yùn)算2.4.1 傳統(tǒng)的集合運(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ù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS 2. 差(Difference)R和S具有相同的

23、目n相應(yīng)的屬性取自同一個(gè)域R - S 仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS 差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-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ù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S 4. 廣義笛卡爾積(Extended Cartes

24、ian Product)Rn目關(guān)系,k1個(gè)元組Sm目關(guān)系,k2個(gè)元組RS 列:(n+m)列的元組的集合元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組行:k1k2個(gè)元組RS = tr ts |tr R tsS 廣義笛卡爾積 (續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S ABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c12.4 關(guān)系代數(shù)2.4.1 傳統(tǒng)的集合運(yùn)

25、算2.4.2 專門的關(guān)系運(yùn)算2.4.2 專門的關(guān)系運(yùn)算選擇投影連接除1. 選擇(Selection) 1) 選擇又稱為限制(Restriction)2) 選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為: ( X1Y1 ) ( X2Y2 ):比較運(yùn)算符(,或)X1,Y1等:屬性名、常量、簡(jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來(lái)代替;:邏輯運(yùn)算符(或) :表示任選項(xiàng):表示上述格式可以重復(fù)下去選擇(續(xù))3) 選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算 4) 舉例設(shè)有一個(gè)學(xué)生-課程數(shù)據(jù)庫(kù),包括學(xué)生關(guān)系Student、課程關(guān)系Course

26、和選修關(guān)系SC。選擇(續(xù))學(xué) 號(hào)Sno姓 名Sname性 別Ssex年 齡Sage所 在 系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS(a) Student例1例2例4例3例9選擇(續(xù))(b)Course課程號(hào)課程名先行課學(xué)分CnoCnameCpnoCcredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語(yǔ)言64例9選擇(續(xù))(c)SC學(xué) 號(hào)課 程 號(hào)成 績(jī)SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續(xù))例1 查詢

27、信息系(IS系)全體學(xué)生 Sdept = IS (Student)或 5 =IS (Student)結(jié)果: SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS選擇(續(xù))例2 查詢年齡小于20歲的學(xué)生 Sage 20(Student) 或 4 20(Student)結(jié)果: SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS2. 投影(Projection) 1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列2. 投影(Projection)

28、 2)投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)投影(續(xù))3) 舉例例3 查詢學(xué)生的姓名和所在系即求Student關(guān)系上學(xué)生姓名和所在系兩個(gè)屬性上的投影 Sname,Sdept(Student)或 2,5(Student)結(jié)果:投影(續(xù))SnameSdept李勇CS劉晨IS王敏MA張立IS投影(續(xù))例4 查詢學(xué)生關(guān)系Student中都有哪些系 Sdept(Student)結(jié)果:SdeptCSISMA3. 連接(Join) 1)連接也稱為連接2)連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr

29、Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組:比較運(yùn)算符連接運(yùn)算從R和S的廣義笛卡爾積RS中選?。≧關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。 ABtr ts 連接(續(xù)) 3)兩類常用連接運(yùn)算等值連接(equijoin) 什么是等值連接為“”的連接運(yùn)算稱為等值連接 等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB A=Btr ts 連接(續(xù)) 自然連接(Natural join) 什么是自然連接自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相

30、同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義R和S具有相同的屬性組B R S = | tr Rts StrB = tsB tr ts連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。 ABRS連接(續(xù))5)舉例 例5 ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS連接(續(xù)) 等值連接 R S R.B=S.B AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù)) 自然連接 R S ABCEa1b153a1b267a2b3810a2b3824. 除

31、(Division) 1)除運(yùn)算的含義給定關(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 = trX除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算3)舉例例6 RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS除(續(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的象集(B,C)a1包含了S在(B,C)屬性組上的投影,所以RS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論