




版權(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)系模型和關(guān)系運(yùn)算理論當(dāng)今數(shù)據(jù)處理中,關(guān)系模型是主要的數(shù)據(jù)模型。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是“關(guān)系”,即二維表格。本章先介紹關(guān)系模型的基本概念,然后介紹關(guān)系運(yùn)算的三種理論:關(guān)系代數(shù)、關(guān)系演算和關(guān)系邏輯。2.1 關(guān)系模型的基本概念2.1.1 基本術(shù)語(yǔ)定義 2.1 關(guān)系模型:用二維表格表示實(shí)體集,用關(guān)鍵碼表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型。 表2.1 學(xué)生登記表學(xué)號(hào)姓名年齡性別籍貫S1S4S2S3張一王二李三趙四20181921MFMF北京天津上海四川2.1.1 基本術(shù)語(yǔ)為簡(jiǎn)單起見,對(duì)表格數(shù)學(xué)化,用字母表示內(nèi)容一般大寫A,B,C表示單個(gè)屬性,大寫X,Y,Z表示屬性集,小寫表示屬性值A(chǔ)BCDEa1a2a
2、3a4b1b2b3b4c1c2c3c4d1d2d3d4e1e2e3e4 字段稱為屬性,字段值稱為屬性值,記錄類型稱為關(guān)系模式 表中的關(guān)系模式名為R。 記錄稱為元組,元組的集合稱為關(guān)系或?qū)嵗?關(guān)系中屬性的個(gè)數(shù)稱為“元數(shù)”(5列),元組個(gè)數(shù)稱為“基數(shù)”(4行)R數(shù)據(jù)世界 現(xiàn)實(shí)世界一般術(shù)語(yǔ) 關(guān)系模型術(shù)語(yǔ)字段/數(shù)據(jù)項(xiàng) 屬性記錄類型 關(guān)系模式記錄1 元組1 字段值 屬性值文件關(guān)系(實(shí)例)關(guān)系模型的一些常用術(shù)語(yǔ)1.關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。2.元組:表中的行稱為元組,一行為一個(gè)元組,對(duì)應(yīng)存儲(chǔ)文件中的一個(gè)記錄值。元組個(gè)數(shù)稱為基數(shù)。3.屬性:表中的列稱為屬性,每一列有一個(gè)屬性名,屬
3、性值相當(dāng)于記錄中的數(shù)據(jù)項(xiàng)或字段值。屬性個(gè)數(shù)稱為元數(shù)。4.值域:屬性的取值范圍。每一個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同的屬性可對(duì)應(yīng)于同一值域。5.關(guān)鍵碼(鍵):有一個(gè)或多個(gè)屬性組成。其值是能夠唯一標(biāo)識(shí)元組或?qū)傩约?。?shí)際使用中有下列幾種鍵。關(guān)系模型的一些常用術(shù)語(yǔ)6.超鍵:在關(guān)系中能唯一標(biāo)識(shí)元組的屬性或?qū)傩约Q為關(guān)系模式的超鍵。如學(xué)號(hào)、姓名。7.候選鍵:不含多余屬性的超鍵稱為候選鍵。如學(xué)號(hào)。8.主鍵(自選鍵):用戶選作元組標(biāo)識(shí)的候選鍵稱為主鍵。一般不加說(shuō)明,鍵是指主鍵。主鍵在關(guān)系中用來(lái)作為插入、刪除或查找元素的標(biāo)志,如:選學(xué)號(hào)用來(lái)作刪除操作,則學(xué)號(hào)是主鍵。9.外鍵:如果一個(gè)關(guān)系中的屬性組并非是該關(guān)系(R)的主
4、鍵,但它們是另一個(gè)關(guān)系(K)的主鍵,則稱其為該關(guān)系的外鍵。2.1.2 關(guān)系的定義和性質(zhì)用集合代數(shù)定義關(guān)系。 1.定義2.2 關(guān)系是一個(gè)屬性數(shù)目相同的元組的集合。 定義:每個(gè)元組的屬性數(shù)目應(yīng)該相同。2.關(guān)系的規(guī)范性(1)每個(gè)屬性值都是不可分解的。如a1 b1是不可分解的最小數(shù)據(jù)項(xiàng)。(2)關(guān)系中不允許出現(xiàn)相同的元組。(3)元組順序無(wú)關(guān)緊要,即沒有行序。(4)屬性的順序是非排序的,但使用時(shí)按習(xí)慣考慮列的順序。2.1.3 關(guān)系模型的3類完整性規(guī)則為維護(hù)數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性,在更新操作時(shí)必須遵循完整性規(guī)則,有3類:1.實(shí)體完整性關(guān)系中元組在主鍵的屬性上不能為空值。2.參照完整性定義2.3 如果屬性集K是關(guān)
5、系模式R1的主鍵,K也是另一關(guān)系模式R2的外鍵,那么在R2的關(guān)系中,K的取值只有兩種可能:或者為空,或者等于R1關(guān)系中的某個(gè)主鍵值。2.1.3 關(guān)系模型的3類完整性規(guī)則舉例2.1 關(guān)系模式中的4個(gè)關(guān)系:教師關(guān)系 TECHER( T#,TNAME,TITLE)課程關(guān)系 COURSE( C#,CNAME,T# )學(xué)生關(guān)系 STUDENT( S#,SNAME,AGE,SEX)選課關(guān)系 SC( S#,C#,SCORE)教師工號(hào)T#在TECHER中是主鍵,在COURSE中是外鍵,T#下有波浪線。 這里,帶下劃線者為主鍵,帶波浪線者為外鍵。 據(jù)規(guī)則要求關(guān)系SC中的S#值(學(xué)號(hào))相對(duì)于關(guān)系STUDENT的外
6、碼,C#值(課程號(hào))相對(duì)于關(guān)系COURSE的外碼,而S#和C#組成了關(guān)系SC的主鍵。 如果關(guān)系SC中有一個(gè)元組(S7,C4,80),而學(xué)號(hào)S7卻在關(guān)系STUDENT中找不到,那么我們就認(rèn)為在SC中引用了一個(gè)不存在的學(xué)生實(shí)體,這就違反了參照完整性規(guī)則。2.1.3 關(guān)系模型的3類完整性規(guī)則3.用戶定義的完整性按用戶對(duì)某一具體數(shù)據(jù)指定的約束條件進(jìn)行檢驗(yàn)。如年齡限制在2030歲之間:CHECK(AGE BETWEEN 20 AND 30)2.1.4 關(guān)系模型的3層(級(jí))體系結(jié)構(gòu)前面講DB的三級(jí)模式結(jié)構(gòu),對(duì)數(shù)據(jù)的抽象級(jí)別,分別從外部級(jí)、概念級(jí)和內(nèi)部級(jí)去觀察數(shù)據(jù)庫(kù)。在關(guān)系模型中,概念模式是關(guān)系模式的集合,
7、外部模式是子模式的集合,內(nèi)模式是存儲(chǔ)模式的集合。1.關(guān)系模式關(guān)系模式是對(duì)關(guān)系的描述,包括模式名,組成該關(guān)系的屬性名、值域名和模式的主鍵。在系統(tǒng)實(shí)現(xiàn)時(shí),關(guān)系模式和屬性的命名都用英文單詞。如關(guān)系模型中有4個(gè)關(guān)系模式:TECHER(教師)、COURSE(課程)、STUDENT(學(xué)生)和SC(選課)。一般形式:R(A1 ,A2 ,An ),其中R是關(guān)系名,A1 ,A2 ,An 是該關(guān)系的屬性名,例如關(guān)系模式TECHER( T#,TNAME,TITLE)2.1.4 關(guān)系模型的3層(級(jí))體系結(jié)構(gòu)2.子模式有時(shí),用戶所用到的數(shù)據(jù)不直接來(lái)自關(guān)系模式中,而是從若干關(guān)系模式中抽取滿足一定條件的數(shù)據(jù),這種結(jié)構(gòu)可用關(guān)
8、系子模式實(shí)現(xiàn)。例如用戶需要用到成績(jī)子模式G(S#,SNAME,C#,SCORE)。子模式G對(duì)應(yīng)的數(shù)據(jù)來(lái)源于表STUDENT和表SC,構(gòu)造時(shí)應(yīng)滿足它們的S#相等。子模式G的構(gòu)造過(guò)程如下:S#SNAMEC#SCORES256:WangC580S#SNAMEAGESEXS256:Wang21FS#C#SCORES256:C580GSSC2.1.4 關(guān)系模型的3層(級(jí))體系結(jié)構(gòu)3.存儲(chǔ)模式存儲(chǔ)模式描述了關(guān)系式如何在物理存儲(chǔ)設(shè)備上存儲(chǔ)的。在DBMS中,關(guān)系存儲(chǔ)時(shí)基本組織方式是文件,每個(gè)元組就是一條記錄。由于關(guān)系模式有鍵,因此。如果關(guān)系中元組數(shù)目較少(100個(gè)以內(nèi)),那么也可以實(shí)現(xiàn)。此外還可以對(duì)任意的屬性
9、集建立輔助索引。2.1.5 關(guān)系模型的形式定義和優(yōu)缺點(diǎn)關(guān)系模型的3個(gè)組成部分:1.數(shù)據(jù)結(jié)構(gòu)2.數(shù)據(jù)操縱3.數(shù)據(jù)完整性規(guī)則關(guān)系模型突出的優(yōu)點(diǎn):1.數(shù)據(jù)結(jié)構(gòu)形式具有簡(jiǎn)明性和精確性。2.邏輯結(jié)構(gòu)和相應(yīng)的操作完全獨(dú)立于數(shù)據(jù)存儲(chǔ)方式。3.數(shù)據(jù)庫(kù)的研究建立在數(shù)學(xué)基礎(chǔ)上。4.數(shù)據(jù)庫(kù)語(yǔ)言成為數(shù)據(jù)庫(kù)技術(shù)的基礎(chǔ)。 2.1.6 關(guān)系查詢語(yǔ)言和關(guān)系運(yùn)算2.2 關(guān)系代數(shù) 關(guān)系代數(shù)是以關(guān)系為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。在對(duì)關(guān)系代數(shù)的所有查詢操作都是通過(guò)關(guān)系代數(shù)表達(dá)式描述的。一個(gè)查詢就是一個(gè)關(guān)系代數(shù)表達(dá)式。任何一個(gè)關(guān)系代數(shù)表達(dá)式都有運(yùn)算符和作為運(yùn)算分量的關(guān)系構(gòu)成。關(guān)系運(yùn)算分為兩大類:一類是傳統(tǒng)的集合操作:并、差、交、笛卡
10、爾積(乘法)、笛卡爾積逆運(yùn)算(除法)。另一類是擴(kuò)充的關(guān)系操作:對(duì)關(guān)系進(jìn)行水平分割(選擇)、垂直分割(投影)、關(guān)系的結(jié)合(連接)、自然連接等。2.2.1 關(guān)系代數(shù)的5個(gè)基本操作在關(guān)系代數(shù)運(yùn)算中。并()、差()、笛卡爾積()、投影()、選擇()是基本運(yùn)算,是完備的操作集,任何其他關(guān)系代數(shù)操作(如交、連接、自然連接、除法)都可以用這5種操作來(lái)表示。1.并運(yùn)算(Union)設(shè)關(guān)系R和S具有相同的關(guān)系模式(相同的元數(shù)n即n個(gè)屬性),關(guān)系R和關(guān)系S的并是由屬于R或?qū)儆赟的元組構(gòu)成的集合(其結(jié)果仍然是一個(gè)n目關(guān)系),記為RS。形式定義如下: RSt|tRtS,t是元組變量?jī)蓚€(gè)關(guān)系的并運(yùn)算是將兩個(gè)關(guān)系中的所有
11、元組構(gòu)成一個(gè)新關(guān)系。并運(yùn)算要求兩個(gè)關(guān)系屬性的性質(zhì)必須一致,全并運(yùn)算的結(jié)果要消除重復(fù)的元組,并運(yùn)算可用于元組插入操作。下面舉例說(shuō)明:例如:有庫(kù)存和進(jìn)貨兩個(gè)表,將兩個(gè)表合并為一個(gè)表,可利用并運(yùn)算來(lái)實(shí)現(xiàn)。商品編號(hào)品名數(shù)量2012230冰箱202012234彩電502010156空調(diào)25商品編號(hào)品名數(shù)量2012214電磁爐352012310微波爐18商品編號(hào)品名數(shù)量2012230冰箱202012234彩電502010156空調(diào)252012214電磁爐352012310微波爐18庫(kù)存關(guān)系并運(yùn)算結(jié)果進(jìn)貨關(guān)系 2.2.1 關(guān)系代數(shù)的5個(gè)基本操作2.差運(yùn)算(Difference)設(shè)關(guān)系R和S具有相同的關(guān)系模式
12、,關(guān)系R和關(guān)系S的差是由屬于R但不屬于S的元組構(gòu)成的集合(其結(jié)果仍然是一個(gè)n目關(guān)系),記為R-S。形式定義如下: R-St|tRtS,t是元組變量例如:有學(xué)生成績(jī)合格者名單和身體不合格名單兩個(gè)關(guān)系,按錄取條件將成績(jī)合格且身體健康的學(xué)生中產(chǎn)生錄取名單關(guān)系。這中操作可用差運(yùn)算來(lái)完成。學(xué)號(hào)2012123120128124商品編號(hào)201232112010715620123610學(xué)號(hào)2012321120121231201071562012812420123610成績(jī)合格學(xué)號(hào)身體不合格學(xué)號(hào)差運(yùn)算結(jié)果2.2.1 關(guān)系代數(shù)的5個(gè)基本操作3.笛卡爾積(Cartesian Product)設(shè)關(guān)系R和S,它們的元數(shù)
13、分別為r和s,分別有m和n個(gè)元組。定義關(guān)系R和S的笛卡爾積的運(yùn)算結(jié)果是一個(gè)(r+s)元數(shù)關(guān)系,共有mxn個(gè)元組,這些元組是由R與S元組組合而成(集合)。關(guān)系R與S的笛卡爾積記為RxS。形式定義如下: RxSt|t=tr,tstrRtsS其中tr、ts分別表示有r個(gè)分量和s個(gè)分量。若R有m個(gè)元組, S有n個(gè)元組,則RxS有mxn個(gè)元組。 2.2.1 關(guān)系代數(shù)的5個(gè)基本操作3.笛卡爾積(Cartesian Product)舉例:假定部門信息存放表和職工信息存放表,兩表的笛卡爾積如下表所示。DEPT#(部門號(hào))DNAME(部門名稱)DTASK(工作任務(wù))1技術(shù)部設(shè)計(jì)2市場(chǎng)部銷售E#(職工號(hào))NAME
14、(姓名)AGE(年齡)DEPT#(部門號(hào))168李明452259趙飛501E#NAMEAGEM. DEPT#D. DEPT#DNAMEDTASK168李明4521技術(shù)部設(shè)計(jì)168李明4522市場(chǎng)部銷售259趙飛5011技術(shù)部設(shè)計(jì)259趙飛5012市場(chǎng)部銷售D (部門信息)M (職工信息)M x D2.2.1 關(guān)系代數(shù)的5個(gè)基本操作4.投影(Projection)這個(gè)操作是對(duì)一個(gè)關(guān)系進(jìn)行垂直分割(一目運(yùn)算),消去某些列,并重新安排列的順序。設(shè)關(guān)系R是k元關(guān)系,R在其分量Ai1 , Ai2,Aim (mk,i1,i2,im 為1k間的整數(shù))上的投影用i1,i2,im (R)表示,它是一個(gè)m元元組集
15、合,形式定義為: i1,i2,im (R) t|t=ti1,timt1,tkR其中R為一個(gè)關(guān)系, i1 , i2,im 為一組屬性名或?qū)傩孕蛱?hào)組。例如, 3,1 (R) 表示其結(jié)果關(guān)系中第1列為關(guān)系R的第3列,第2列為R的第1列。如果R的每列標(biāo)上屬性名,則操作符的下標(biāo)處也可以用屬性名表示。如: C, A(R) 與3, 1(R) 是等價(jià)的。其中下標(biāo)C和A為屬性名,下標(biāo)3和1為屬性序號(hào)。2.2.1 關(guān)系代數(shù)的5個(gè)基本操作5.選擇(Selection) 選擇操作是根據(jù)某些條件對(duì)關(guān)系做水平分割,即在一個(gè)關(guān)系內(nèi)選取符合條件的元組。運(yùn)算形式定義如下: F (R) t|tRF (t)=true其中為選擇運(yùn)算
16、符, F (R) 表示從R中挑選滿足公式F為真的元組所構(gòu)成的關(guān)系。F表示邏輯表達(dá)式。這個(gè)表達(dá)式按以下規(guī)則組成:1.運(yùn)算對(duì)象:常數(shù)(引號(hào)括起),元組分量(屬性名或列序號(hào))。2.比較運(yùn)算符: , , , ,統(tǒng)稱為符。3.邏輯運(yùn)算符:與、或、非構(gòu)成符合邏輯條件。例如: 23 (R)表示從R中挑選第2個(gè)分量值大于3的元組所構(gòu)成的關(guān)系。常量用引號(hào)括起,屬性序號(hào)或?qū)傩悦灰?hào)括。例2.2 設(shè)有關(guān)系R和S,計(jì)算RS,R-S, RxS,C, A (R) 即3, 1 (R)和B4 (R)。 A B C12 345 67 8 9A B C2 4 64 5 6R.A R.B R.C S.A S.B S.C1 2
17、3 2 4 61 2 3 4 5 64 5 6 關(guān)系R關(guān)系SRxS(略)2.2.2 關(guān)系代數(shù)的4個(gè)組合操作上述5個(gè)基本操作可組合成交、連接、自然連接和除法連接。1.交(Intersecyion)關(guān)系R和S的交是由屬于R又屬于S的元組構(gòu)成的集合,即在兩個(gè)關(guān)系R與S中取相同的元組,組成一個(gè)新關(guān)系,記為RS。形式定義如下: RSt|tRtS,t是元組變量,R和S的元數(shù)相同。關(guān)系的交可以由關(guān)系的差來(lái)表示,即 RS=R-(R-S)或RS=S-(S-R)教材圖2.8中RS的結(jié)果只有一個(gè)元組(4,5,6) 。2.2.2 關(guān)系代數(shù)的4個(gè)組合操作2.連接(Join)連接是將兩個(gè)關(guān)系的屬性名拼接成一個(gè)更寬的關(guān)系,
18、生成的新關(guān)系中包含滿足條件的元組。操作過(guò)程是通過(guò)連接條件來(lái)控制的,連接條件中將出現(xiàn)不同關(guān)系中的公共屬性名,結(jié)合是對(duì)關(guān)系的結(jié)合。條件連接運(yùn)算又可稱為連接。從關(guān)系R和S的笛卡爾積中選取屬性值滿足某一操作的元組,記為RS,這里i和j分別是關(guān)系R和S中的第i個(gè)、第j個(gè)屬性的序號(hào)。定義形式如教材的公式。連接操作是由笛卡爾積和選擇操作組合而成的。設(shè)關(guān)系R的元數(shù)為r,那么連接操作的形式定義為: RSi(r+j)(RxS)表示連接是在關(guān)系R和S的笛卡爾積中挑選第i個(gè)分量(屬性值)和第(r+j)個(gè)分量滿足操作的元組。 例2.3 P47 ijij2.2.2 關(guān)系代數(shù)的4個(gè)組合操作3.自然連接(Natural Join)兩個(gè)關(guān)系R和S的自然連接操作是連接的一種特例用RS表示,計(jì)算的具體過(guò)程如下:(1)計(jì)算RxS。(2)設(shè)R和S的公共屬性是A1 ,Ak,挑選RxS中滿足R.A1=S.A1, ,R.Ak=S.Ak的那些元組。(3)去掉S.A1, ,S.Ak這些列(保留R.A1, ,R.Ak)即除去重復(fù)屬性的等值連接。因此R S可以定義為:R Si1, ,im ( R.A1=S.A1 R.Ak=S.Ak (RxS)其中i1, ,im為R和S的全部屬性,但公
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟健康中心合作合同范本
- 初創(chuàng)公司分紅合同范本
- 保證合同范本單方
- 醫(yī)用合同范本
- 單位和個(gè)人合伙合同范本
- 勞務(wù)門店合同范本
- 書畫居間合同范本
- 供用熱力合同范本
- 關(guān)聯(lián)交易合同范本
- 會(huì)展活動(dòng)合同范本
- 《當(dāng)代網(wǎng)絡(luò)文學(xué)作品發(fā)展研究6300字(論文)》
- 孟氏骨折與蓋氏骨折講解學(xué)習(xí)
- GB/T 9386-2008計(jì)算機(jī)軟件測(cè)試文檔編制規(guī)范
- GB/T 25137-2010鈦及鈦合金鍛件
- 第2課《說(shuō)和做》課件(共30張ppt) 部編版語(yǔ)文七年級(jí)下冊(cè)
- 2022年廉政談話公司紀(jì)委書記對(duì)干部任前廉潔警示談話講話范文集團(tuán)國(guó)有企業(yè)國(guó)企新任職
- 《鐵道車輛工程》第05章鐵道車輛的運(yùn)行性能課件
- 七上解一元一次方程100道練習(xí)題(有答案)
- 跨境電商推廣(EDM、SEO、SEM、Facebook、YouTube、Twitter等)課件
- 中國(guó)古代服飾文化135張課件
- 《道德與法治》五下第一單元《我們一家人》教案
評(píng)論
0/150
提交評(píng)論