數(shù)據(jù)庫(kù)系統(tǒng)概論 關(guān)系的數(shù)據(jù)描述【專(zhuān)業(yè)教育】_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論 關(guān)系的數(shù)據(jù)描述【專(zhuān)業(yè)教育】_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論 關(guān)系的數(shù)據(jù)描述【專(zhuān)業(yè)教育】_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論 關(guān)系的數(shù)據(jù)描述【專(zhuān)業(yè)教育】_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論 關(guān)系的數(shù)據(jù)描述【專(zhuān)業(yè)教育】_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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、現(xiàn)存在兩個(gè)集合為: A張三,李四、王二; B數(shù)據(jù)庫(kù)原理,離散數(shù)學(xué),算法與數(shù)據(jù)結(jié)構(gòu) 如何描述A與B的關(guān)系呢?張三,數(shù)據(jù)庫(kù)原理,關(guān)系的數(shù)學(xué)描述,1,專(zhuān)業(yè)課堂,表達(dá)學(xué)生與課程的關(guān)系,可以用如下有序?qū)Ρ硎荆?(張三,數(shù)據(jù)庫(kù)原理);(李四,離散數(shù)學(xué)) 這樣的有序?qū)Φ募戏Q(chēng)為二元關(guān)系,簡(jiǎn)稱(chēng)關(guān)系,關(guān)系的數(shù)學(xué)描述,2,專(zhuān)業(yè)課堂,關(guān)系的數(shù)學(xué)描述,在數(shù)學(xué)上,以上關(guān)系的產(chǎn)生可以通過(guò)如下數(shù)學(xué)運(yùn)算完成:AB,表示A中取一個(gè)元素,B中取一個(gè)元素。顯然,二元關(guān)系是AB的一個(gè)子集。數(shù)學(xué)演示乘法結(jié)果 AB的結(jié)果表示什么含義呢? 如何使用關(guān)系描述概念模型中的實(shí)體?學(xué)號(hào)姓名年齡,3,專(zhuān)業(yè)課堂,由E.F.Codd于1970年提出關(guān)系

2、模型; 概念模型中的各種要素,包括實(shí)體、聯(lián)系均用關(guān)系表示 一個(gè)關(guān)系就是一張二維表 現(xiàn)有的數(shù)據(jù)庫(kù)管理系統(tǒng)基本上都是關(guān)系型的 SQL Server Oracle Informix Access Foxpro,第二章 關(guān)系數(shù)據(jù)庫(kù),4,專(zhuān)業(yè)課堂,關(guān)系數(shù)據(jù)庫(kù)的結(jié)構(gòu)及其形式化定義,2.1.1 關(guān)系 域:一組具有相同數(shù)據(jù)類(lèi)型的值的集合。 1,2,3,10 “a”,”b”,”C” .T.,.F. 笛卡爾積 給定一組域D1,D2,Dn,這些域中可以有相同的。 D1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一個(gè)組合 不能重復(fù),5,專(zhuān)業(yè)課堂,d1,d2,

3、dn)稱(chēng)為元組(Tuple) di稱(chēng)為一個(gè)分量(Component) 若Di為有限集,其基數(shù)為| Di |=mi ,則D1D2Dn的基數(shù)M為,6,專(zhuān)業(yè)課堂,例:給出3個(gè)域,分別是 則D1D2D3(張清梅,計(jì)算機(jī)專(zhuān)業(yè),李勇), ,其可以用二維表表示,實(shí)際上,笛卡爾積表達(dá)了一種關(guān)系,7,專(zhuān)業(yè)課堂,從中取出有意義的元組,即構(gòu)成了關(guān)系,8,專(zhuān)業(yè)課堂,關(guān)系 D1D2Dn的子集叫作在域D1,D2,Dn上的 關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名 n:關(guān)系的目或度(Degree,9,專(zhuān)業(yè)課堂,一個(gè)關(guān)系是一張二維表,表的一行對(duì)應(yīng)一個(gè)元組,一列對(duì)應(yīng)一個(gè)域。給域取名,稱(chēng)為屬性。 候選碼: 若關(guān)系中的某一

4、屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選碼 簡(jiǎn)單的情況:候選碼只包含一個(gè)屬性;當(dāng)候選碼包括所有的屬性,稱(chēng)為全碼。 主碼: 若干候選碼,選定其中一個(gè),稱(chēng)為主碼,10,專(zhuān)業(yè)課堂,主碼的判別,關(guān)系模式如下: 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī)) 個(gè)人基本信息(身份證號(hào),駕駛證號(hào),姓名,年齡,性別) 找出它們的候選碼和主碼,11,專(zhuān)業(yè)課堂,主屬性: 候選碼的諸屬性稱(chēng)為主屬性 不包含在候選碼中的屬性稱(chēng)為非主屬性 關(guān)系表示: R(A1,A2,An),其中R為關(guān)系名,A1,A2An屬性名。例如 SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE,12,

5、專(zhuān)業(yè)課堂,關(guān)系的三種類(lèi)型,基本關(guān)系 實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示 查詢表 查詢結(jié)果對(duì)應(yīng)的表 視圖表 由基本關(guān)系導(dǎo)出的表,是虛表 三種關(guān)系示例,13,專(zhuān)業(yè)課堂,關(guān)系模式,關(guān)系的描述稱(chēng)為關(guān)系模式 關(guān)系模式是型,關(guān)系是值 R(U,D,DOM,F) R:關(guān)系名 U: 屬性名的集合 D:U所來(lái)自的域 DOM:屬性向域的映像集合 F:屬性之間的函數(shù)依賴關(guān)系 關(guān)系模式示例 學(xué)生(學(xué)號(hào),姓名,性別,年齡,專(zhuān)業(yè),14,專(zhuān)業(yè)課堂,2.2 關(guān)系操作,關(guān)系是笛卡爾積的子集,所以關(guān)系是集合,因此,關(guān)系操作實(shí)質(zhì)就是集合運(yùn)算,其操作對(duì)象和結(jié)果都是集合。 關(guān)系操作包括:查詢和更新(增、改、刪)。 查詢操作對(duì)應(yīng)集合運(yùn)

6、算的選擇、投影,連接,除,并,差,交,笛卡爾積等。 對(duì)應(yīng)的意義:只要設(shè)計(jì)出集合運(yùn)算的算法,即可很方便地對(duì)關(guān)系進(jìn)行操作了,15,專(zhuān)業(yè)課堂,關(guān)系操作的語(yǔ)言,關(guān)系代數(shù)語(yǔ)言 用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求(交、并、補(bǔ)等集合運(yùn)算) 代表:ISBL 關(guān)系演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢要求 元組關(guān)系演算語(yǔ)言 謂詞變?cè)幕緦?duì)象是元組變量 代表:APLHA, QUEL 域關(guān)系演算語(yǔ)言 謂詞變?cè)幕緦?duì)象是域變量 代表:QBE 上述三種演算語(yǔ)言在表達(dá)能力上是完全等價(jià)的 具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言 它既有關(guān)系運(yùn)算,又有謂詞和量詞 代表:SQL(Structured Query Language,16,專(zhuān)業(yè)課堂

7、,關(guān)系數(shù)據(jù)語(yǔ)言的分類(lèi),關(guān)系代數(shù)、元組關(guān)系演算、域關(guān)系演算都是抽象的查詢語(yǔ)言。實(shí)際的RDBMS語(yǔ)言還包括聚集函數(shù)、關(guān)系賦值、算數(shù)運(yùn)算等功能,使其更加強(qiáng)大。而上述三種語(yǔ)言一般作為評(píng)估實(shí)際系統(tǒng)中查詢語(yǔ)言能力的標(biāo)準(zhǔn),17,專(zhuān)業(yè)課堂,2.3 關(guān)系的完整性,是關(guān)系的值應(yīng)該滿足的某種約束條件,是現(xiàn)實(shí)世界的語(yǔ)義要求 三類(lèi)完整性約束 實(shí)體完整性 若屬性(屬性組)A是關(guān)系R的主屬性,則A不能取空(null)。 學(xué)生基本信息表中,學(xué)號(hào)不能為空。 學(xué)生成績(jī)表中,學(xué)號(hào)和課程號(hào)均不能為空。 如果兩條記錄為空,該屬性則不能稱(chēng)為主屬性 參照完整性 用戶完整性,18,專(zhuān)業(yè)課堂,參照完整性,在學(xué)生數(shù)據(jù)庫(kù)中,有兩張表 學(xué)生(學(xué)號(hào),

8、姓名,專(zhuān)業(yè)號(hào)) 專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名稱(chēng),19,專(zhuān)業(yè)課堂,設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱(chēng)F是基本關(guān)系R的外碼 基本關(guān)系R稱(chēng)為參照關(guān)系(Referencing Relation) 基本關(guān)系S稱(chēng)為被參照關(guān)系(Referenced Relation) 或目標(biāo)關(guān)系(Target Relation,20,專(zhuān)業(yè)課堂,外碼的要求 不是關(guān)系R的主碼 與另外一個(gè)關(guān)系的主碼相對(duì)應(yīng),21,專(zhuān)業(yè)課堂,參照完整性規(guī)則,若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:

9、 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值,22,專(zhuān)業(yè)課堂,例,學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī),23,專(zhuān)業(yè)課堂,例3 學(xué)生實(shí)體及其內(nèi)部的一對(duì)多聯(lián)系 * 學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡,班長(zhǎng),學(xué)號(hào)”是主碼,“班長(zhǎng)”是外碼,它引用了本關(guān)系的“學(xué)號(hào)” “班長(zhǎng)” 必須是確實(shí)存在的學(xué)生的學(xué)號(hào),24,專(zhuān)業(yè)課堂,用戶定義完整性,針對(duì)特定數(shù)據(jù)庫(kù)所設(shè)置的約束條件,如:性別的設(shè)置;國(guó)內(nèi)電話區(qū)號(hào)以0開(kāi)頭;等,25,專(zhuān)業(yè)課堂,2.4 關(guān)系代數(shù),用關(guān)系運(yùn)算來(lái)表達(dá)查詢 運(yùn)算對(duì)象、運(yùn)算結(jié)果

10、、運(yùn)算符,26,專(zhuān)業(yè)課堂,27,專(zhuān)業(yè)課堂,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,28,專(zhuān)業(yè)課堂,29,專(zhuān)業(yè)課堂,2. 差(Difference,操作條件: R和S 具有相同的目n 相應(yīng)的屬性取自同一個(gè)域 R - S 仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成 R -S = t|tRtS,30,專(zhuān)業(yè)課堂,R-S,31,專(zhuān)業(yè)課堂,3. 交(Intersection,操作條件: R和S 具有相同的目n 相應(yīng)的屬性取自同一個(gè)域 R

11、S 仍為n目關(guān)系,由既屬于R又屬于S的元組組成 RS = t|t Rt S RS = R (R-S,32,專(zhuān)業(yè)課堂,33,專(zhuān)業(yè)課堂,4. 笛卡爾積(Cartesian Product,嚴(yán)格地講應(yīng)該是廣義的笛卡爾積(Extended Cartesian Product) R: n目關(guān)系,k1個(gè)元組 S: m目關(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 :元組的連接或者串結(jié),34,專(zhuān)業(yè)課堂,tr ts R為n目關(guān)系,S為m目關(guān)系。 tr R,tsS, tr ts稱(chēng)為元組的

12、連接。 tr ts是一個(gè)n + m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組,35,專(zhuān)業(yè)課堂,A=張三,李四,王二 ?目 B=(數(shù)據(jù)庫(kù),4),(離散數(shù)學(xué),4),(算法,4) AB,36,專(zhuān)業(yè)課堂,37,專(zhuān)業(yè)課堂,2.4.2 專(zhuān)門(mén)的關(guān)系運(yùn)算,幾個(gè)記號(hào) R,tR,tAi 設(shè)關(guān)系模式為R(A1,A2,An) 它的一個(gè)關(guān)系設(shè)為R 如R(學(xué)號(hào),姓名,年齡) tR表示t是R的一個(gè)元組 tAi則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量 t(學(xué)號(hào))“001,38,專(zhuān)業(yè)課堂,A,tA, A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,則A稱(chēng)為屬性列

13、或?qū)傩越M。 tA=(tAi1,tAi2,tAik)表示元組t在屬性列A上諸分量的集合。 如t(姓名,年齡)=(張三,20) A則表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的屬性組。 如 A=學(xué)號(hào),39,專(zhuān)業(yè)課堂,象集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中屬性組X上值為x的諸元組在Z上分量的集合,40,專(zhuān)業(yè)課堂,x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,41,專(zhuān)業(yè)課堂,Z張清玫? Z(張清玫

14、,計(jì)算機(jī)專(zhuān)業(yè)),42,專(zhuān)業(yè)課堂,選擇 投影 連接 除,43,專(zhuān)業(yè)課堂,例題用表:student,44,專(zhuān)業(yè)課堂,course,45,專(zhuān)業(yè)課堂,SC,46,專(zhuān)業(yè)課堂,1. 選擇(Selection,選擇又稱(chēng)為限制(Restriction) 選擇運(yùn)算符的含義 在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真 F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為: X1Y1,47,專(zhuān)業(yè)課堂,選擇(續(xù),例1 查詢信息系(IS系)全體學(xué)生 Sdept = IS (Student) 或 5 =IS (Student) 結(jié)果,48,專(zhuān)業(yè)課堂,例2 查詢年齡小于20歲的學(xué)生 Sage 20 (S

15、tudent) 或 4 20 (Student) 結(jié)果,49,專(zhuān)業(yè)課堂,查詢女生年齡大于18歲的記錄 查詢2002年入學(xué)的學(xué)生紀(jì)錄,50,專(zhuān)業(yè)課堂,選擇運(yùn)算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,是從行的角度進(jìn)行的運(yùn)算,51,專(zhuān)業(yè)課堂,2. 投影(Projection,投影運(yùn)算符的含義 從R中選擇出若干屬性列組成新的關(guān)系 A(R) = tA | t R A:R中的屬性列,52,專(zhuān)業(yè)課堂,投影(Projection,投影操作主要是從列的角度進(jìn)行運(yùn)算 但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行,53,專(zhuān)業(yè)課堂,投影,例3 查詢學(xué)生的姓名和所在系 即求Student關(guān)

16、系上學(xué)生姓名和所在系兩個(gè)屬性上的投影 Sname,Sdept (Student) 或 2,5 (Student) 結(jié)果,54,專(zhuān)業(yè)課堂,投影,例4 查詢學(xué)生關(guān)系Student中都有哪些系 Sdept(Student) 結(jié)果,55,專(zhuān)業(yè)課堂,查詢李勇所在的系 找出李勇的記錄 求取系 順序顛倒是否可以,56,專(zhuān)業(yè)課堂,3. 連接(Join,連接也稱(chēng)為連接 連接運(yùn)算的含義 從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr RtsStrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組 :比較運(yùn)算符 連接運(yùn)算從R和S的廣義笛卡爾積RS中選取(R關(guān)系)在A屬性組上的值與(S關(guān)

17、系)在B屬性組上值滿足比較關(guān)系的元組,57,專(zhuān)業(yè)課堂,R.工資E.工資,R S,58,專(zhuān)業(yè)課堂,連接(續(xù),兩類(lèi)常用連接運(yùn)算 等值連接(equi join) 為“”的連接運(yùn)算稱(chēng)為等值連接 等值連接的含義 從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB,59,專(zhuān)業(yè)課堂,連接(續(xù),自然連接(Natural join) 自然連接是一種特殊的等值連接 兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組 在結(jié)果中把重復(fù)的屬性列去掉 自然連接的含義 R和S具有相同的屬性組B R S = | tr Rts StrB = tsB,tr ts

18、,60,專(zhuān)業(yè)課堂,連接(續(xù),一般的連接操作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算,61,專(zhuān)業(yè)課堂,連接(續(xù),例5關(guān)系R和關(guān)系S 如下所示,62,專(zhuān)業(yè)課堂,連接(續(xù),一般連接 R S的結(jié)果如下,CE,63,專(zhuān)業(yè)課堂,連接(續(xù),等值連接 R S 的結(jié)果如下,64,專(zhuān)業(yè)課堂,連接(續(xù),自然連接 R S 的結(jié)果如下,65,專(zhuān)業(yè)課堂,連接(續(xù),外連接 如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTER JOIN)。 左外連接 如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFT OUTER JOIN或

19、LEFT JOIN) 右外連接 如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHT OUTER JOIN或RIGHT JOIN,66,專(zhuān)業(yè)課堂,連接(續(xù),下圖是例5中關(guān)系R和關(guān)系S的外連接,67,專(zhuān)業(yè)課堂,連接(續(xù),圖(b)是例5中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接,68,專(zhuān)業(yè)課堂,4. 除(Division,可以看作是笛卡爾積的逆運(yùn)算,但不完全是 R是m+n度關(guān)系;S是n度關(guān)系 R的第(m+i)個(gè)屬性和S的第i個(gè)屬性(i=1,.,n)必須是在相同的域上定義。 RS 元組在X上分量值x的象集Yx包含S,則RS=x,69,專(zhuān)業(yè)課堂,S,70,專(zhuān)業(yè)課堂,5綜合舉例,以學(xué)生-課程數(shù)據(jù)庫(kù)為例 (P56) 例7

溫馨提示

  • 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)論