




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 關(guān)系數(shù)據(jù)庫基本原理,1,本章內(nèi)容,1.1 關(guān)系數(shù)據(jù)庫基本原理 2.2 關(guān)系代數(shù)的基本原理 2.3 關(guān)系模式的分解 2.4 關(guān)系模型的完整性約束 2.5 數(shù)據(jù)庫的設(shè)計方法,2,2.1 關(guān)系數(shù)據(jù)庫概述,關(guān)系數(shù)據(jù)模型 數(shù)據(jù)模型的任務(wù)是描述現(xiàn)實世界中的實體及其聯(lián)系。關(guān)系數(shù)據(jù)模型就是采用一個有序數(shù)組描述實體及其屬性,用這種有序數(shù)組的集合描述一個實體集合,而采用定義在兩個集合上的關(guān)系反映不同實體間的聯(lián)系。,3,表2-1 關(guān)系模型示例,關(guān)系數(shù)據(jù)庫基本概念 定義:關(guān)系數(shù)據(jù)庫就是一些相關(guān)的二維表和其他數(shù)據(jù)庫對象的集合。 在這個定義中明確,關(guān)系數(shù)據(jù)庫中的所有信息都存儲在二維表格中;一個關(guān)系數(shù)據(jù)庫可能包含多
2、個表;除了這種二維表外,關(guān)系數(shù)據(jù)庫還包含一些其他對象,如視圖等。,4,2.1 關(guān)系數(shù)據(jù)庫概述,Page 5/31,2.1 關(guān)系數(shù)據(jù)庫概述,關(guān)系模型的基本概念: 1關(guān)系 一個關(guān)系就是一張二維表,通常將一個沒有重復(fù)行、重復(fù)列的二維表看成一個關(guān)系,每個關(guān)系都有一個關(guān)系名。 2元組 二維表的每一行在關(guān)系中稱為元組(Tuple)。一行描述了現(xiàn)實世界中的一個實體,或者描述了不同實體間的一種聯(lián)系。,3屬性 二維表的每一列在關(guān)系中稱為屬性(Attribute),每個屬性都有一個屬性名,各個屬性的取值稱為屬性值。每個屬性有一定的取值范圍,稱為值域。 4關(guān)鍵字 關(guān)系中能惟一區(qū)分、確定不同元組的屬性或?qū)傩越M合,稱為
3、該關(guān)系的一個關(guān)鍵字。關(guān)鍵字又稱為鍵或碼(Key)。,6,2.1 關(guān)系數(shù)據(jù)庫概述,5外部關(guān)鍵字 如果關(guān)系中某個屬性或?qū)傩越M合并非關(guān)鍵字,但卻是另一個關(guān)系的主關(guān)鍵字,則稱此屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字或外鍵(Foreign Key)。在關(guān)系數(shù)據(jù)庫中,用外部關(guān)鍵字表示兩個表間的聯(lián)系。,7,2.1 關(guān)系數(shù)據(jù)庫概述,例:請指出下面兩個關(guān)系模式的主鍵以及外鍵 學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名),Page 8/31,2.1 關(guān)系數(shù)據(jù)庫概述,主鍵,外鍵,主鍵,關(guān)系數(shù)據(jù)庫基本特征 有堅實的理論基礎(chǔ) 數(shù)據(jù)結(jié)構(gòu)簡單、易于理解 對用戶提供了較全面的操作支持 得到了眾多開發(fā)商的支持,9
4、,2.1 關(guān)系數(shù)據(jù)庫概述,2.2 關(guān)系代數(shù)的基本原理,關(guān)系的數(shù)學(xué)定義 1集合 集合沒有嚴(yán)格的形式定義,一般說來,集合是與某一研究過程相關(guān)的一類對象的整體,這些對象稱為集合的元素。 2元組 幾個元素組成的一個有序組稱為一個元組,通常元組用圓括號括起來的一些元素表示,元素間使用逗號分隔。 例如(3,5,6)和(E001,錢達理,男,東風(fēng)路78號)是元組的例子。 在關(guān)系數(shù)據(jù)庫中,可以把一個表的每一行看作一個元組。,10,3集合的笛卡爾乘積 設(shè)A1、A2、An為任意集合,A1、A2、An的笛卡爾乘積記做: A1A2An, 并且定義D= A1A2An =(a1,a2,an)| aiAi,i=1,2,n,
5、其中(a1,a2,an)是一個元組,它的每個元素ai取自對應(yīng)的集合Ai。 例如,設(shè)A=1,2,B=a,b, 則AB=(1,a),(1,b),(2,a),(2,b)。 4關(guān)系 關(guān)系是一個集合,其組成元素是元組而不是組成元組的元素。,11,2.2 關(guān)系代數(shù)的基本原理,關(guān)系運算 : 對二維表格進行運算的機制。 1并 設(shè)A、B同為n元關(guān)系,則A、B的并也是一個n元關(guān)系,記作AB。 2交 設(shè)A、B同為n元關(guān)系,則A、B的交也是一個n元關(guān)系,記作AB。AB包含了所有同屬于A、B的元組。 3差 設(shè)A、B同為n元關(guān)系,則A、B的差也是一個n元關(guān)系,記作A-B。A-B包含了所有屬于A但不屬于B的元組。,12,2
6、.2 關(guān)系代數(shù)的基本原理,例2-1 設(shè)A=(湖南,長沙),(河北,石家莊),(陜西,西安), B=(湖北,武漢),(廣東,廣州),(廣東,深圳),(陜西,西安),求 AB、AB、A-B。 顯然,A、B是表示城市和所在省的關(guān)系。 AB=(湖南,長沙),(河北,石家莊),(陜西,西安),(湖北,武漢),(廣東,廣州),(廣東,深圳) AB=(陜西,西安) A-B=(湖南,長沙),(河北,石家莊),13,2.2 關(guān)系代數(shù)的基本原理,4連接 設(shè)A是一個包含m個元組的k1元關(guān)系,B是一個包含n個元組的k2元關(guān)系,則A、B的連接是一個包含mn個元組的k1+k2元關(guān)系,記作AB。 5投影 設(shè) R=R(A1,
7、A2,An)是一個n元關(guān)系,i1,i2,im是1,2,n的一個子集,并且 i1i2im,定義: 稱(R)是R在上的一個投影。 6選擇 設(shè) R=(a1,a2,an)是一個n元關(guān)系,S是關(guān)于(a1,a2,an)的一個條件,R中所有滿足S條件的元組組成的子關(guān)系S(R),稱為R的一個選擇。,14,2.2 關(guān)系代數(shù)的基本原理,例2-2 設(shè) R1=R1(姓名,性別)=(錢達理,男),(東方牧,男), R2=R2(所在單位,住址)=(總經(jīng)理辦,東風(fēng)路78號),(銷售部,五一北路25號), 求(1)R=R1R2。 (2)R在(姓名,所在單位,住址)的投影。 (3)根據(jù)表2-1,求R關(guān)系的一個選擇。,15,解:
8、 R=(錢達理,男,總經(jīng)理辦,東風(fēng)路78號),(錢達理,男,銷售部,五一北路25號),(東方牧,男,總經(jīng)理辦,東風(fēng)路78號),(東方牧,男,銷售部,五一北路25號)。 (2) (R)=(錢達理,總經(jīng)理辦,東風(fēng)路78號),(錢達理,銷售部,五一北路25號),(東方牧,總經(jīng)理辦,東風(fēng)路78號),(東方牧,銷售部,五一北路25號) (3) R(S)=(錢達理,總經(jīng)理辦,東風(fēng)路78號),2.2 關(guān)系代數(shù)的基本原理,2.3 關(guān)系模式的分解,引例:表2-2關(guān)系模型存在如下3方面的問題。 插入異常 刪除異常 數(shù)據(jù)冗余與更新異常,16,表 2-2 一個不好的關(guān)系模式,要解決上述3個問題,需要把表2-2進行分解
9、,表中前3列獨立建立一個表,指定供應(yīng)商代碼作為關(guān)鍵字,并刪除相同的行;后3列獨立,引入供應(yīng)商代碼列作為外鍵,并增加一個訂貨日期列,供應(yīng)商代碼和訂貨日期的組合作為第2個表的關(guān)鍵字。經(jīng)過這樣處理后,上述異常問題就完全解決了。,17,2.3 關(guān)系模式的分解,函數(shù)依賴的基本概念 定義1 設(shè)RR(A1,A2,An)是一個關(guān)系模式, X A1,A2,An ,Y A1,A2,An , 即X和Y是R的屬性子集, T1、T2是R的兩個任意元組,即 T1T1(A1,A2,An),T2T2(A1,A2,An),如果當(dāng)T1(X)T2(X)成立時,總有T1(Y)T2(Y),則稱X決定Y,或稱Y函數(shù)依賴于X。記為:XY。
10、,18,2.3 關(guān)系模式的分解,例:R(U) 為Student(sNo,sName,sAge,sDept) 選取X=sNo, Y=sAge, Z=sDept R(X) R(Y) R(Z) 結(jié)論:X Y, X Z, Y Z,Page 19/31,定義2 R,X,Y如定義1所設(shè),如果XY成立,但對X的任意真子集X1,都有X1Y不成立,稱Y完全函數(shù)依賴于X,否則,稱Y部分函數(shù)依賴于X。 例:R(sNo,subject,score)如下: sNo score和subject score都不成立,在這里單個的屬性不能作為決定因素,但屬性的組合可以作為決定因素。 (sNo,subject) score,
11、即score完全依賴于(sNo,subject),20,F,例:R(sNo,subject,score)如下: (sNo,name,subject) score成立 (sNo, subject) score也成立, 則稱為score部分依賴于(sNo,name,subject),21,定義3 設(shè)X,Y,Z是關(guān)系模式R的不同屬性集,若XY(并且YX不成立),YZ,稱X傳遞決定Z,或稱Z傳遞函數(shù)依賴于X。 例:R(sNo,name,address)如下: sNo name, name adress, 則sNo address,即address傳遞依賴于sNo,Page 22/31,關(guān)系的規(guī)范化 1
12、. 主屬性與非主屬性 候選關(guān)鍵屬性和關(guān)鍵屬性 定義4 設(shè)關(guān)系模式R(A1,A2,An),A1,A2,An是R的屬性,X是R的一個屬性集,如果 X(A1,A2,An), 對于X的任意真子集X1,X1(A1,A2,An)都不成立, 則稱屬性集X是關(guān)系模式R的一個候選關(guān)鍵屬性。 如果關(guān)系模式R只有一個候選關(guān)鍵屬性,稱這惟一的候選關(guān)鍵屬性為關(guān)鍵屬性,否則,應(yīng)從多個候選關(guān)鍵屬性中指定一個作為關(guān)鍵屬性。 習(xí)慣上把候選關(guān)鍵屬性稱為候選關(guān)鍵字,關(guān)鍵屬性稱為關(guān)鍵字。,23,2.3 關(guān)系模式的分解,主屬性和非主屬性 定義5 設(shè)Ai是關(guān)系模式R的一個屬性,若Ai屬于R的某個候選關(guān)鍵屬性,稱Ai是R的主屬性,否則,稱
13、Ai為非主屬性。,24,2.3 關(guān)系模式的分解,2. 第1范式 第1范式、第2范式、第3范式、Boyce-Codd范式、第4范式和第5范式。 定義6 當(dāng)關(guān)系模式R的所有屬性都不能分解為更基本的數(shù)據(jù)單位時,稱R是滿足第1范式的,簡記為1NF。 例如,如果關(guān)于員工的關(guān)系中有一個工資屬性,而工資又由更基本的兩個數(shù)據(jù)項基本工資和崗位工資組成,則這個員工的關(guān)系模式就不滿足1NF。 例如,職工號,姓名,電話號碼組成一個表(一個人可能有一個辦公電話和手機號)規(guī)范為1NF的方法?,25,2.3 關(guān)系模式的分解,例:下表所示的關(guān)系R是否滿足1NF,如果不滿足,如何調(diào)整? 上表中,高級職稱人數(shù)不具備原子性,只要將
14、兩個數(shù)據(jù)項拆分,就滿足1NF,Page 26/31,3. 第2范式 定義7 如果關(guān)系模式R滿足第1范式,并且R的所有非主屬性都完全依賴于R的每一個候選關(guān)鍵屬性,稱R滿足第2范式,簡記為2NF。 例:選課關(guān)系SC1(學(xué)號,課程號,成績,學(xué)分)中組合關(guān)鍵字為 (學(xué)號,課程號) 其中的函數(shù)依賴有: (學(xué)號,課程號) 成績, (學(xué)號,課程號) 學(xué)分, 課程號學(xué)分 因此,不滿足2NF. 該關(guān)系易引發(fā)數(shù)據(jù)冗余,插入異常,更新異常,刪除異常,27,2.3 關(guān)系模式的分解,原因:非關(guān)鍵字屬性“學(xué)分”僅函數(shù)依賴于cno,即“學(xué)分”部分依賴于(學(xué)號,課程號) ,而不是完全依賴,4. 第3范式 定義8 設(shè)R是一個滿
15、足第1范式條件的關(guān)系模式,X是R的任意屬性集,如果X非傳遞依賴于R的任意一個候選關(guān)鍵字,稱R滿足第3范式,簡記為3NF。 定理 若關(guān)系模式R符合3NF條件,則R一定符合2NF條件。 例:關(guān)系R=R(公司注冊號,法人代表,注冊地,所在省) 在關(guān)系R中,公司注冊號注冊地,注冊地所在省 所以,公司注冊號所在省,存在傳遞依賴,不滿足3NF,28,2.3 關(guān)系模式的分解,5. Boyce-Codd范式 定義9 設(shè)R是一個關(guān)系模式,若R的每一個函數(shù)依賴關(guān)系的左部都是R的一個候選關(guān)鍵字,稱R滿足Boyce-Codd范式,簡記為BCNF。 可以證明,BCNF是比3NF更強的規(guī)范(證明略),即符合BCNF條件的
16、關(guān)系模式一定符合3NF條件,但反過來卻不成立。,29,2.3 關(guān)系模式的分解,關(guān)系的分解 1. 關(guān)系模式分解的一般問題 所謂關(guān)系模式的分解,就是對原有關(guān)系在不同的屬性上進行投影,從而將原有關(guān)系分解為兩個或兩個以上的含有較少屬性的多個關(guān)系。,30,2.3 關(guān)系模式的分解,Page 31/31,示例,將其分解為兩個關(guān)系:(無損分解) 員工基本情況表: 員工獎金分配表 這兩張表都符合BCNF,從而符合3NF,Page 32/31,將其分解為兩個關(guān)系:(有損分解) 員工基本情況表: 員工獎金分配表,Page 33/31,2. 3NF分解 (1)如果R不滿足1NF條件,先對其分解,使其滿足1NF。 對R
17、進行1NF分解的方法不是采用投影,而是直接將其復(fù)合屬性進行分解,用分解后的基本屬性集取代原來的屬性,以獲得1NF。 例2-3 將R(員工號,姓名,工資)進行分解,使其滿足1NF條件。 假定R的工資屬性由基本工資和崗位工資組成,直接用屬性集(基本工資,崗位工資)取代工資屬性,得到新關(guān)系R_NEW (員工號,姓名,基本工資,崗位工資),R_NEW滿足1NF。 (2)R符合1NF條件但不符合2NF條件時,分解R使其滿足2NF。,34,2.3 關(guān)系模式的分解,2.4 關(guān)系模型的完整性約束,實體完整性 所謂實體完整性,就是一個關(guān)系模型中的所有元組都是惟一的,沒有兩個完全相同的元組,也就是一個二維表中沒有
18、兩個完全相同行,也稱為行完整性。 域完整性 域完整性就是對表中列數(shù)據(jù)的規(guī)范,也稱列完整性,用于限制列的數(shù)據(jù)類型、格式以及取值范圍。 參照完整性 當(dāng)一個數(shù)據(jù)表中有外部關(guān)鍵字(即該列是另外一個表的關(guān)鍵字)時,外部關(guān)鍵字列的所有值,都必須出現(xiàn)在其所對應(yīng)的表中,這就是參照完整性的含義 。 用戶定義完整性,35,2.5 數(shù)據(jù)庫的設(shè)計方法,數(shù)據(jù)庫設(shè)計過程 數(shù)據(jù)庫設(shè)計過程一般包括: (1)需求分析 (2)概念設(shè)計 (3)邏輯設(shè)計 (4)物理設(shè)計 (5)實施與維護,36,E-R模型及其到關(guān)系模型的轉(zhuǎn)化,37,圖2-2 E-R模型到關(guān)系模型的轉(zhuǎn)化過程,2.5 數(shù)據(jù)庫的設(shè)計方法,1獨立實體到關(guān)系模型的轉(zhuǎn)化 一個獨
19、立實體轉(zhuǎn)化為一個關(guān)系模型(即一張關(guān)系表),實體碼轉(zhuǎn)化為關(guān)系表的關(guān)鍵屬性,其他屬性轉(zhuǎn)化為關(guān)系表的屬性,注意根據(jù)實際對象屬性情況確定關(guān)系屬性的取值域。,38,圖2-3 學(xué)生實體的E-R圖,2.5 數(shù)據(jù)庫的設(shè)計方法,例:例如對于圖2-3所示的學(xué)生實體,應(yīng)將其轉(zhuǎn)化為關(guān)系: 學(xué)生(學(xué)號,姓名,民族,籍貫) 其中下劃線標(biāo)注的屬性表示關(guān)鍵字。,21:1聯(lián)系到關(guān)系模型的轉(zhuǎn)化,39,圖2-4 1:1 聯(lián)系到關(guān)系模型的轉(zhuǎn)化,2.5 數(shù)據(jù)庫的設(shè)計方法,對圖2-4模型轉(zhuǎn)化為關(guān)系模型: 經(jīng)理(姓名,民族,住址,出生年月,電話,名稱) 公司(名稱,注冊地,類型,電話,姓名),經(jīng)理(姓名,民族,住址,出生年月,電話,名稱)
20、 公司(名稱,注冊地,類型,電話,姓名) 其中名稱和姓名分別是“公司”和“經(jīng)理”兩個關(guān)系模式的關(guān)鍵字,在“經(jīng)理”和“公司”兩個關(guān)系中,為了表明兩者間的聯(lián)系,各自增加了對方的關(guān)鍵字作為外部關(guān)鍵字,當(dāng)兩個表中出現(xiàn)下面的元組時,表明了張小輝是京廣實業(yè)公司的經(jīng)理。 (張小輝,漢,北京前門大街156號,48,68705633,京廣實業(yè)公司) (京廣實業(yè)公司,北京復(fù)興門外大街278號,有限責(zé)任,65783265,張小輝),40,2.5 數(shù)據(jù)庫的設(shè)計方法,31:n聯(lián)系到關(guān)系模型的轉(zhuǎn)化 要轉(zhuǎn)化1:n聯(lián)系,需要在n方(即1對多關(guān)系的多方)實體表中增加一個屬性,將對方的關(guān)鍵字作為外部關(guān)鍵字處理即可。,41,2.5
21、 數(shù)據(jù)庫的設(shè)計方法,“班級”與“學(xué)生”的聯(lián)系是1:n的聯(lián)系,學(xué)生方是n方,對上圖進行轉(zhuǎn)化,得到關(guān)系模型: 學(xué)生(學(xué)號,姓名,民族,出生年月,班號) 班級(班號,名稱,年級,系,專業(yè)) 在學(xué)生表中增加“班級”中的關(guān)鍵字“班號”作為外部關(guān)鍵字。,42,2.5 數(shù)據(jù)庫的設(shè)計方法,圖2-5 1:n關(guān)系到關(guān)系模型的轉(zhuǎn)化,4m:n聯(lián)系到關(guān)系模型的轉(zhuǎn)化 一個m:n聯(lián)系要單獨建立一個關(guān)系模式,分別用兩個實體的關(guān)鍵字作為外部關(guān)鍵字。 轉(zhuǎn)化為3個關(guān)系: 學(xué)生(學(xué)號,姓名,民族,出生年月) 課程(課程號,課程名,學(xué)時數(shù)) 學(xué)習(xí)(學(xué)號,課程號,成績),43,2.5 數(shù)據(jù)庫的設(shè)計方法,圖2-6 m:n關(guān)系到關(guān)系模型的轉(zhuǎn)化,5多元聯(lián)系到關(guān)系模型的轉(zhuǎn)化 所謂多元聯(lián)系,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線學(xué)習(xí)平臺在教育政策執(zhí)行中的作用
- 抖音商戶直播選品匹配度評估制度
- 抖音商戶場控直播網(wǎng)絡(luò)穩(wěn)定性保障制度
- 抖音商戶直播話題熱度跟蹤制度
- 全球教育變革中2025年跨文化交流能力培養(yǎng)的課程開發(fā)研究
- 全球鈾礦資源地理分布與核能產(chǎn)業(yè)未來發(fā)展挑戰(zhàn)研究報告
- Carbonic-anhydrase-inhibitor-30-生命科學(xué)試劑-MCE
- 黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《制藥工程綜合設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 嵩山少林武術(shù)職業(yè)學(xué)院《電影鏡頭畫面創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東省中學(xué)山市四中學(xué)2024-2025學(xué)年數(shù)學(xué)七上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2024年湖南城建職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試真題
- 2024-2025學(xué)年下學(xué)期高一數(shù)學(xué)人教A版期末必刷常考題之頻率與概率
- 設(shè)備易損配件管理制度
- 青霉素過敏反應(yīng)的急救
- 2025-2030中國鋁業(yè)發(fā)展?fàn)顩r與投資戰(zhàn)略研究報告
- 2025年國家醫(yī)療器械抽檢品種檢驗方案
- 防汛物資儲備定額編制規(guī)程(SL298-2024)
- 無人機培訓(xùn)創(chuàng)業(yè)計劃書-20250205-222450
- 輿情分析試題及答案
- 營運車輛入股協(xié)議書
- 高中數(shù)學(xué)專項提升計劃
評論
0/150
提交評論