




已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章 關(guān)系數(shù)據(jù)庫(kù),4.1 關(guān)系模型及其定義 4.2 關(guān)系的3類(lèi)完整性約束 4.3 關(guān)系代數(shù),4.1.1 關(guān)系中的基本術(shù)語(yǔ), 關(guān)系: 一個(gè)關(guān)系就是一張二維表。 元組: 表中的一行即為一個(gè)元組。 屬性: 表中的列稱(chēng)為屬性。 域: 屬性的取值范圍。 關(guān)系模式:對(duì)關(guān)系的描述。 例如: R(sno, sname, sex, birthday, class),4.1.1 關(guān)系中的基本術(shù)語(yǔ), 候選鍵(或候選關(guān)鍵字) 是屬性或?qū)傩越M合,其值可以唯一的標(biāo)識(shí)一個(gè)元組。 主鍵(或主關(guān)鍵字) 如果有多個(gè)候選鍵,選擇其中一個(gè)作為主鍵。 主屬性 包含在候選鍵中的各個(gè)屬性。 全碼 所有屬性都是這個(gè)關(guān)系模式的候選碼。 外鍵(或外關(guān)鍵字) 如果關(guān)系R2的一個(gè)或一組屬性X是另一關(guān)系R1的主鍵,則X稱(chēng)為外鍵。,4.1.2 關(guān)系的數(shù)學(xué)定義,1. 域 域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。 例如:自然數(shù)、實(shí)數(shù)、長(zhǎng)度小于25字節(jié)的字符串集合等等。 2. 笛卡爾積 笛卡爾積可以表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,每列對(duì)應(yīng)一個(gè)域。 例如:給出3個(gè)域: D1 導(dǎo)師集合 李清,劉濤 D2 專(zhuān)業(yè)集合 計(jì)算機(jī)專(zhuān)業(yè),管理工程專(zhuān)業(yè) D3 研究生集合 李華,楊敏,劉穎 則D1,D2,D3的笛卡爾積為?,4.1.2 關(guān)系的數(shù)學(xué)定義,該笛卡爾積共有 D1D2D312 個(gè)元組,可以列成一張表。,表2-1,4.1.2 關(guān)系的數(shù)學(xué)定義,3. 關(guān)系 笛卡爾積D1D2Dn的任一個(gè)子集稱(chēng)為D1,D2,Dn上的一個(gè)n元關(guān)系。表示為:R(D1, D2, , Dn) 例如:可以在表3-1的笛卡爾積中取出一個(gè)子集來(lái)構(gòu)造一個(gè)關(guān)系。一個(gè)研究生只師從于一個(gè)導(dǎo)師,學(xué)習(xí)某一個(gè)專(zhuān)業(yè)。從中取出有實(shí)際意義的元組來(lái)構(gòu)造關(guān)系,并將關(guān)系取名為SAP。這個(gè)關(guān)系可以表示為: SAP(導(dǎo)師,專(zhuān)業(yè),研究生),4.1.2 關(guān)系的數(shù)學(xué)定義,假設(shè)導(dǎo)師與專(zhuān)業(yè)是一對(duì)一的,即一個(gè)導(dǎo)師只有一個(gè)專(zhuān)業(yè),導(dǎo)師與研究生是一對(duì)多,即一個(gè)導(dǎo)師可以帶多名研究生,而一名研究生只有一個(gè)導(dǎo)師,則SAP關(guān)系可以包含3個(gè)元組,如下表:,表2-2,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (1) 列是同質(zhì)的,即每一列中的分量是同一類(lèi)型的數(shù)據(jù),來(lái)自同一個(gè)域。,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (2) 不同的列可出自同一個(gè)域,其中的每一列稱(chēng)為一個(gè)屬性,要給予不同的屬性名。,姓名2 曾用名,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (3) 列的順序無(wú)所謂,即列的次序可以任意交換,也稱(chēng)屬性無(wú)序性。,關(guān)系性質(zhì)3屬性無(wú)序,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (4) 任意兩個(gè)元組不能完全相同。,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (5) 行的順序無(wú)關(guān)緊要,即行的次序可以任意交換,稱(chēng)為元組無(wú)序性。,4.1.2 關(guān)系的數(shù)學(xué)定義,4. 關(guān)系的性質(zhì) (6) 所有屬性值都是原子,不允許屬性又是一個(gè)二維關(guān)系。,關(guān)系性質(zhì)6分量是原子,非規(guī)范化關(guān)系,規(guī)范化關(guān)系,4. 2 關(guān)系的3類(lèi)完整性約束,(1)實(shí)體完整性規(guī)則 關(guān)系中主碼的值不能為空或部分為空。 (2)參照完整性規(guī)則 參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。 (3)用戶(hù)定義的完整性 指用戶(hù)對(duì)某一具體數(shù)據(jù)指定的約束條件進(jìn)行檢驗(yàn)。,4. 2 關(guān)系的3類(lèi)完整性約束,不允許為空值或重復(fù)值,一個(gè)錯(cuò)誤的引用(不存在15),允許為空值,傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,是在兩個(gè)關(guān)系中進(jìn)行的。但是并不是任意的兩個(gè)關(guān)系都能進(jìn)行這種集合運(yùn)算,而是要在兩個(gè)滿(mǎn)足一定條件的關(guān)系中進(jìn)行運(yùn)算。那么,對(duì)關(guān)系有什么要求呢? 設(shè)給定兩個(gè)關(guān)系R、S,若滿(mǎn)足: 具有相同的度n; R中第i個(gè)屬性和S中第i個(gè)屬性必須來(lái)自同一個(gè)域。則說(shuō)關(guān)系R、S是相容的。 除笛卡爾積外,要求參加運(yùn)算的關(guān)系必須滿(mǎn)足上述的相容性定義。,4.3 關(guān)系代數(shù),4.3.1 傳統(tǒng)的集合運(yùn)算,1. 并(Union) 關(guān)系R和關(guān)系S的并由屬于R或?qū)儆赟的元組組成,即R和S的所有元組合并,刪去重復(fù)元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作: RS=t|tRtS 對(duì)于關(guān)系數(shù)據(jù)庫(kù),記錄的插入 和添加可通過(guò)并運(yùn)算實(shí)現(xiàn)。,4.3.1 傳統(tǒng)的集合運(yùn)算,4.3.1 傳統(tǒng)的集合運(yùn)算,2. 差(Difference) 關(guān)系R與關(guān)系S的差由屬于R而不屬于S的所有元組組成,即R中刪去與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作: R-S=t|tRtS 通過(guò)差運(yùn)算,可實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù) 記錄的刪除。,3. 交(Intersection) 關(guān)系R與關(guān)系S的交由既屬于R又屬于S的元組組成,即R與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作: RS=t|tRtS,4.3.1 傳統(tǒng)的集合運(yùn)算,4. 廣義笛卡爾積(Extended Cartesian Product) 兩個(gè)分別為n目和m目關(guān)系R和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合,元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1*k2個(gè)元組,記作 RS=trts| trR,tsS 關(guān)系的廣義笛卡爾積可用于兩關(guān)系的連接操作,4.3.1 傳統(tǒng)的集合運(yùn)算,廣義笛卡兒積運(yùn)算實(shí)例,隨堂練習(xí),設(shè)有關(guān)系R、S,計(jì)算R1=R-S、R2=RS、R3=RS、R4=RS,R,S,由于傳統(tǒng)的集合運(yùn)算,只是從行的角度進(jìn) 行,而要靈活地實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)多樣的查詢(xún)操 作,必須引入專(zhuān)門(mén)的關(guān)系運(yùn)算。 (選擇) (投影) (連接) (除),4.3.2 專(zhuān)門(mén)的集合運(yùn)算,樣板數(shù)據(jù)庫(kù)(學(xué)生-課程數(shù)據(jù)庫(kù)),4.3.2 專(zhuān)門(mén)的集合運(yùn)算,選擇在關(guān)系R中求由滿(mǎn)足給定條件F的元組組成新的關(guān)系的運(yùn)算。其形式為: SELECT 關(guān)系名 WHERE 條件 選擇運(yùn)算記為F(R)。 其中,為選取運(yùn)算符,F(xiàn)為選取的條件。 例如:在關(guān)系S1中找出所有“男生”的數(shù)據(jù)。 SELECT S1 WHERE 性別=“男” 關(guān)系代數(shù)為: 性別=“男”(S1),4.3.2 專(zhuān)門(mén)的集合運(yùn)算,F為選取的條件,由運(yùn)算對(duì)象(屬性名、常數(shù)、簡(jiǎn)單函數(shù))、算術(shù)比較運(yùn)算符( ,=,)和邏輯運(yùn)算符( )連接起來(lái)的邏輯表達(dá)式,結(jié)果為邏輯值“真”或“假”。,例子1:查詢(xún)信息系全體學(xué)生,sdept=“IS” (student),5=“IS” (student),或,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,選擇運(yùn)算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,實(shí)際上是從行的角度進(jìn)行的運(yùn)算。,例子1,已知關(guān)系R和S, 求,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,2. 投影在關(guān)系R中求指定的由若干個(gè)屬性組成新的關(guān)系,即對(duì)關(guān)系在垂直方向進(jìn)行的運(yùn)算,從左到右按照指定的若干屬性及順序取出相應(yīng)列,刪去重復(fù)元組。記為x(R)。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,從定義可看出,投影運(yùn)算是從列的角度進(jìn)行的運(yùn)算,這正是選取運(yùn)算和投影運(yùn)算的區(qū)別所在。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,例子2:查詢(xún)學(xué)生的姓名和所在的系,sname,sdept(student),2,5(student),或,投影運(yùn)算可以改變關(guān)系的屬性次序,例子3: 查詢(xún)選課關(guān)系中有哪些學(xué)生選了課。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,由例3可以看出,投影后取消了某些屬性列后,就可能出現(xiàn)重復(fù)行,應(yīng)該取消這些完全相同的行。所以投影之后,不但減少了屬性,元組也可能減少,新關(guān)系與原關(guān)系不相容。,SNO(SC) 結(jié)果如右圖所示,例子4: 查詢(xún)選了1號(hào)課程的學(xué)生號(hào)。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,SNO(CNO=1(SC),例子2,已知關(guān)系R和S, 求,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,3. 連接從關(guān)系R和S的笛卡爾積中選取屬性值滿(mǎn)足一定條件的元組。 (1)連接 記為R S。 其中i和j分別為R和S中的第i、第j個(gè)分量,為算術(shù)比較運(yùn)算符。,ij,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,一般的連接操作是從行的角度進(jìn)行運(yùn)算。,例子3,已知關(guān)系R和S,求,例子3(續(xù)),4.3.2 專(zhuān)門(mén)的集合運(yùn)算,連接舉例:求 R S, R S,2=1,R,S,32,結(jié)果中不除去重復(fù)的屬性,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,(2)F連接選取屬性值滿(mǎn)足某一條件公式F的元組 記為R S。 例如:R S (3)自然連接除去重復(fù)屬性的等值連接 記為R S,即 R S。 例如: R S,R S,F,i=j,213=2,32,3=2,關(guān)系R與S,求:R和S的大于連接(CD); R和S的等值連接(C=D);R和S的等值連接 (R.B=S.B);R和S的自然連接。,例子4,R,S,大于連接(CD) 等值連接(C=D),例子4(續(xù)),等值連接(R.B=S.B) 自然連接,例子4(續(xù)),等值連接與自然連接的區(qū)別: 1. 等值連接中不要求相等屬性值的屬性名相同,而自然連接要求相等屬性值的屬性名必須相同,即兩關(guān)系只有在同名屬性才能進(jìn)行自然連接。 2. 等值連接不將重復(fù)屬性去掉,而自然連接去掉重復(fù)屬性,也可以說(shuō),自然連接是去掉重復(fù)列的等值連接。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,外連接 如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTER JOIN)。 左外連接 如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFT OUTER JOIN或LEFT JOIN) 右外連接 如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHT OUTER JOIN或RIGHT JOIN)。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,下圖是例4中關(guān)系R和關(guān)系S的全外自然連接,(a) 全外自然連接,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,(b) 左外自然連接,圖(b)是例4中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接,(c) 右外自然連接,4. 除記為RS。 除法運(yùn)算是二目運(yùn)算,設(shè)有關(guān)系R(X,Y)與關(guān)系S(Y,Z),其中X,Y,Z為屬性集合,R中的Y與S中的Y可以有不同的屬性名,但對(duì)應(yīng)屬性必須出自相同的域。關(guān)系R除以關(guān)系S所得的商是一個(gè)新關(guān)系P(X),P是R中滿(mǎn)足下列條件的元組在X上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作: RS=trX|trRy(S)Yx 其中,Yx為x在R中的象集,x= trX。,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算,象集,(a1,b1)的象集,(a1,b2)的象集,(a4,b5)的象集,X,Y,除,X,Y,=,Y,R上分量值X 的象集Yx包含S在Y上的投影,4.3.2 專(zhuān)門(mén)的集合運(yùn)算,關(guān)系除法運(yùn)算的步驟: 將被除關(guān)系屬性分為象集屬性和結(jié)果屬性 對(duì)象集屬性進(jìn)行投影目標(biāo)數(shù)據(jù)集 將被除關(guān)系分組:結(jié)果屬性值一樣的元組分為一組 找出結(jié)果集,除運(yùn)算實(shí)例,=,選課,必修課,選擇了所有必修課表中的課程的學(xué)生的學(xué)號(hào)和成績(jī),例子5,求 RS,隨堂練習(xí),R,S,求 RS,綜合舉例,所用實(shí)例:如下圖。,Q1:查詢(xún)選修103課程的學(xué)生名的關(guān)系代數(shù)表達(dá)式。,或: sname ( cid=103 (SC) S),表達(dá)式: sname ( cid=103 (SC S),查詢(xún)結(jié)果:何大明, 陳勝,說(shuō)明:, 對(duì)第二種表達(dá)式,可分解成三步來(lái)做, (Temp1, cid=103 (SC), (Temp2, Temp1 S), sname(Temp2), 第二種表達(dá)式比第一種更好,因?yàn)橹虚g結(jié)果更少。, 由上可知,存在一個(gè)查詢(xún)優(yōu)化的問(wèn)題。,優(yōu)化: sname (sid (cid=103 (SC) sid,sname ( S),Q2:查詢(xún)選修學(xué)分為3的學(xué)生名的代數(shù)表達(dá)式。,或:sname(credit=3 (C) SC S),或:sname(sid (sid (credit=3 C) SC) S),查詢(xún)結(jié)果:何大明,李峰,Q3:學(xué)生“李峰”所選課程的學(xué)分的代數(shù)表達(dá)式 。,表達(dá)式:credit(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大沽口炮臺(tái)活動(dòng)方案
- 多人游藝活動(dòng)方案
- 夏天禮品活動(dòng)方案
- 多元化線上打卡活動(dòng)方案
- 在線問(wèn)答活動(dòng)方案
- 夏季干眼癥活動(dòng)方案
- 大型晨練活動(dòng)方案
- 垃圾分類(lèi)公益月活動(dòng)方案
- 圣象地板活動(dòng)方案
- 大班恐龍活動(dòng)方案
- 內(nèi)科胸腔鏡風(fēng)險(xiǎn)處置預(yù)案
- SL345-2007水利水電工程注水試驗(yàn)規(guī)程
- qc技術(shù)主管述職報(bào)告
- 護(hù)患溝通及糾紛防范
- 人工動(dòng)靜脈瘺狹窄查房
- PTBD管路維護(hù)技術(shù)
- 高壓滅菌器應(yīng)急預(yù)案
- 環(huán)衛(wèi)車(chē)輛交通安全知識(shí)講座
- 學(xué)生頂崗實(shí)習(xí)成績(jī)考核表
- NB-T 47013.15-2021 承壓設(shè)備無(wú)損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 保安報(bào)名表和資格審查表
評(píng)論
0/150
提交評(píng)論