數(shù)據(jù)庫(kù)課件-07數(shù)據(jù)庫(kù)設(shè)計(jì).ppt
1,數(shù)據(jù)庫(kù)系統(tǒng)概論 An Introduction to Database System 第七章 數(shù)據(jù)庫(kù)設(shè)計(jì)(續(xù)2),2,第七章 數(shù)據(jù)庫(kù)設(shè)計(jì),7.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 7.2 需求分析 7.3 概念結(jié)構(gòu)設(shè)計(jì) 7.4 邏輯結(jié)構(gòu)設(shè)計(jì) 7.5 數(shù)據(jù)庫(kù)的物理設(shè)計(jì) 7.6 數(shù)據(jù)庫(kù)實(shí)施和維護(hù) 7.7 小結(jié),3,7.4 邏輯結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù) 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ) 為了能夠用某一DBMS實(shí)現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。,4,邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù)),邏輯結(jié)構(gòu)設(shè)計(jì)的步驟 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化,5,6,7.4 邏輯結(jié)構(gòu)設(shè)計(jì),7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換 7.4.2 數(shù)據(jù)模型的優(yōu)化 7.4.3 設(shè)計(jì)用戶子模式 本節(jié)小結(jié),7,7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換,轉(zhuǎn)換內(nèi)容 轉(zhuǎn)換原則,返回,8,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),轉(zhuǎn)換內(nèi)容 E-R圖由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成 關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合 將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。,返回,9,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),轉(zhuǎn)換原則 一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式 關(guān)系的屬性:實(shí)體型的屬性 關(guān)系的碼:實(shí)體型的碼,10,例:學(xué)生實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī)) 性別、宿舍、班級(jí)、檔案材料、教師、課程、教室、教科書(shū)都分別轉(zhuǎn)換為一個(gè)關(guān)系模式。,11,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),2. 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。 1) 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼,12,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),2) 與某一端對(duì)應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變,13,教職工,班級(jí),管理,1,1,例:“管理”聯(lián)系為1:1聯(lián)系,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),14,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),例:“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉(zhuǎn)換方法: (1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式: 管理(職工號(hào),班級(jí)號(hào)) 或 管理(職工號(hào),班級(jí)號(hào)) (2)“管理”聯(lián)系與班級(jí)關(guān)系模式合并,則只需在班級(jí)關(guān)系中加入教師關(guān)系的碼,即職工號(hào): 班級(jí):(班級(jí)號(hào),學(xué)生人數(shù),職工號(hào)) (3)“管理”聯(lián)系與教師關(guān)系模式合并,則只需在教師關(guān)系中加入班級(jí)關(guān)系的碼,即班級(jí)號(hào): 教師:(職工號(hào),姓名,性別,職稱,班級(jí)號(hào),是否為優(yōu)秀班主任),15,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),注意: 從理論上講,1:1聯(lián)系可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。 但在一些情況下,與不同的關(guān)系模式合并效率會(huì)大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。 由于連接操作是最費(fèi)時(shí)的操作,所以一般應(yīng)以盡量減少連接操作為目標(biāo)。例如,如果經(jīng)常要查詢某個(gè)班級(jí)的班主任姓名,則將管理聯(lián)系與教師關(guān)系合并更好些。,16,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。 1) 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:n端實(shí)體的碼,17,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),2) 與n端對(duì)應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變 可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法,18,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),例:“組成”聯(lián)系為1:n聯(lián)系:,學(xué)生,班級(jí),組成,n,1,19,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),將其轉(zhuǎn)換為關(guān)系模式的兩種方法: 1)使其成為一個(gè)獨(dú)立的關(guān)系模式: 組成(學(xué)號(hào),班級(jí)號(hào)) 2)將其學(xué)生關(guān)系模式合并: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī)),20,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),4. 一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體碼的組合 例:“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼: 選修(學(xué)號(hào),課程號(hào),成績(jī)),21,學(xué)生,課程,選修,m,n,例: “選修”聯(lián)系,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),成績(jī),22,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式 關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實(shí)體碼的組合 例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書(shū)號(hào)為關(guān)系的組合碼: 講授(課程號(hào),職工號(hào),書(shū)號(hào)),23,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。 例:如果教師實(shí)體集內(nèi)部存在領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實(shí)體合并,這時(shí)主碼職工號(hào)將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分: 教師:職工號(hào),姓名,性別,職稱,系主任,24,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 具有相同碼的關(guān)系模式可合并。 目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。 合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。,25,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),例: “擁有”關(guān)系模式:擁有(學(xué)號(hào),性別) 學(xué)生關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí), 班級(jí)號(hào),平均成績(jī)) 上面兩個(gè)關(guān)系模式都以學(xué)號(hào)為碼,可以將它們合并為一個(gè)關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系, 年級(jí),班級(jí)號(hào),平均成績(jī)),26,7.4.2 數(shù)據(jù)模型的優(yōu)化,數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。 得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。 關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)。,27,數(shù)據(jù)模型的優(yōu)化(續(xù)),優(yōu)化數(shù)據(jù)模型的方法 確定數(shù)據(jù)依賴 按需求分析階段所得到的語(yǔ)義,分別寫(xiě)出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。,28,數(shù)據(jù)模型的優(yōu)化(續(xù)),例: 課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴: 課程號(hào)課程名,課程號(hào)學(xué)分,課程號(hào)教室號(hào) 選修關(guān)系模式中存在下列數(shù)據(jù)依賴: (學(xué)號(hào),課程號(hào))成績(jī) 學(xué)生關(guān)系模式中存在下列數(shù)據(jù)依賴: 學(xué)號(hào)姓名,學(xué)號(hào)性別,學(xué)號(hào)出生日期,學(xué)號(hào)所在系 學(xué)號(hào)年級(jí),學(xué)號(hào)班級(jí)號(hào),學(xué)號(hào)平均成績(jī),學(xué)號(hào)檔案號(hào) 學(xué)生關(guān)系模式的學(xué)號(hào)與選修關(guān)系模式的學(xué)號(hào)之間存在數(shù)據(jù)依賴:學(xué)生.學(xué)號(hào)選修.學(xué)號(hào),29,數(shù)據(jù)模型的優(yōu)化(續(xù)), 對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。 按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。 例如經(jīng)過(guò)分析可知,課程關(guān)系模式屬于BC范式。,30,數(shù)據(jù)模型的優(yōu)化(續(xù)), 按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。,31,數(shù)據(jù)模型的優(yōu)化(續(xù)),并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。 當(dāng)一個(gè)應(yīng)用的查詢中經(jīng)常涉及到兩個(gè)或多個(gè)關(guān)系模式的屬性時(shí),系統(tǒng)必須經(jīng)常地進(jìn)行聯(lián)接運(yùn)算,而聯(lián)接運(yùn)算的代價(jià)是相當(dāng)高的,可以說(shuō)關(guān)系模型低效的主要原因就是做聯(lián)接運(yùn)算引起的,因此在這種情況下,第二范式甚至第一范式也許是最好的。,32,數(shù)據(jù)模型的優(yōu)化(續(xù)),非BCNF的關(guān)系模式雖然從理論上分析會(huì)存在不同程度的更新異常,但如果在實(shí)際應(yīng)用中對(duì)此關(guān)系模式只是查詢,并不執(zhí)行更新操作,則就不會(huì)產(chǎn)生實(shí)際影響。 對(duì)于一個(gè)具體應(yīng)用來(lái)說(shuō),到底規(guī)范化進(jìn)行到什么程度,需要權(quán)衡響應(yīng)時(shí)間和潛在問(wèn)題兩者的利弊才能決定。一般說(shuō)來(lái),第三范式就足夠了。,33,數(shù)據(jù)模型的優(yōu)化(續(xù)),例:在關(guān)系模式:學(xué)生成績(jī)單(學(xué)號(hào),英語(yǔ),數(shù)學(xué),語(yǔ)文,平均成績(jī)) 中存在下列函數(shù)依賴: 學(xué)號(hào)英語(yǔ),學(xué)號(hào)數(shù)學(xué),學(xué)號(hào)語(yǔ)文 學(xué)號(hào)平均成績(jī),(英語(yǔ), 數(shù)學(xué), 語(yǔ)文)平均成績(jī) 顯然有:學(xué)號(hào)(英語(yǔ),數(shù)學(xué),語(yǔ)文),因此該關(guān)系模式中存在傳遞函數(shù)依賴,是2NF關(guān)系。 雖然平均成績(jī)可以由其他屬性推算出來(lái),但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績(jī),為提高效率,我們?nèi)匀豢杀A粼撊哂鄶?shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步分解。,34,數(shù)據(jù)模型的優(yōu)化(續(xù)), 按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式進(jìn)行必要的分解或合并,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率 常用分解方法 水平分解 垂直分解,35,數(shù)據(jù)模型的優(yōu)化(續(xù)),水平分解 把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。 水平分解的適用范圍 滿足“80/20原則”的應(yīng)用 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù),36,數(shù)據(jù)模型的優(yōu)化(續(xù)),滿足“80/20原則”的應(yīng)用 80/20原則:一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20% 把經(jīng)常使用的數(shù)據(jù)分解出來(lái),形成一個(gè)子關(guān)系,可以減少查詢的數(shù)據(jù)量。 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù) 如果關(guān)系R上具有n個(gè)事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個(gè)子關(guān)系,使每個(gè)事務(wù)存取的數(shù)據(jù)對(duì)應(yīng)一個(gè)關(guān)系。,37,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解 把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。 垂直分解的原則 經(jīng)常在一起使用的屬性從R中分解出來(lái)形成一個(gè)子關(guān)系模式。,38,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解的優(yōu)點(diǎn) 可以提高某些事務(wù)的效率 垂直分解的缺點(diǎn) 可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。,39,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解的適用范圍 取決于分解后R上的所有事務(wù)的總效率是否得到了提高。 進(jìn)行垂直分解的方法 簡(jiǎn)單情況:直觀分解 復(fù)雜情況:用第六章中的模式分解算法 垂直分解必須不損失關(guān)系模式的語(yǔ)義(保持無(wú)損連接性和保持函數(shù)依賴)。,返回,40,7.4.3 設(shè)計(jì)用戶子模式,定義數(shù)據(jù)庫(kù)全局模式主要是從系統(tǒng)的時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。 定義用戶外模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:,41,設(shè)計(jì)用戶子模式(續(xù)),(1) 使用更符合用戶習(xí)慣的別名 (2) 針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)對(duì)安全性的要求。 (3) 簡(jiǎn)化用戶對(duì)系統(tǒng)的使用 如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。,42,邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié),任務(wù) 將概念結(jié)構(gòu)轉(zhuǎn)化為具體的數(shù)據(jù)模型 邏輯結(jié)構(gòu)設(shè)計(jì)的步驟 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化 設(shè)計(jì)用戶子模式,43,數(shù)據(jù)庫(kù)系統(tǒng)概論 An Introduction to Database System 第七章 數(shù)據(jù)庫(kù)設(shè)計(jì)(續(xù)3),44,第七章 數(shù)據(jù)庫(kù)設(shè)計(jì),7.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 7.2 需求分析 7.3 概念結(jié)構(gòu)設(shè)計(jì) 7.4 邏輯結(jié)構(gòu)設(shè)計(jì) 7.5 數(shù)據(jù)庫(kù)的物理設(shè)計(jì) 7.6 數(shù)據(jù)庫(kù)實(shí)施和維護(hù) 7.7 小結(jié),45,7.5 數(shù)據(jù)庫(kù)的物理設(shè)計(jì),什么是數(shù)據(jù)庫(kù)的物理設(shè)計(jì) 數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴于給定的計(jì)算機(jī)系統(tǒng)。 為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。,46,7.5 數(shù)據(jù)庫(kù)的物理設(shè)計(jì),數(shù)據(jù)庫(kù)物理設(shè)計(jì)的步驟 確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu) 對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率 如果評(píng)價(jià)結(jié)果滿足原設(shè)計(jì)要求則可進(jìn)入到物理實(shí)施階段,否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回邏輯設(shè)計(jì)階段修改數(shù)據(jù)模型。,47,邏輯 模型,48,7.5 數(shù)據(jù)庫(kù)的物理設(shè)計(jì),7.5.1 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法 7.5.2 關(guān)系模式存取方法選擇 7.5.3 確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu) 7.5.4 評(píng)價(jià)物理結(jié)構(gòu),返回,49,7.5.1 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法,設(shè)計(jì)物理數(shù)據(jù)庫(kù)結(jié)構(gòu)的準(zhǔn)備工作 1. 充分了解應(yīng)用環(huán)境,詳細(xì)分析要運(yùn)行的事務(wù),以獲得選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù) 2. 充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲(chǔ)結(jié)構(gòu),50,數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù)),選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù) 數(shù)據(jù)庫(kù)查詢事務(wù) 查詢的關(guān)系 查詢條件所涉及的屬性 連接條件所涉及的屬性 查詢的投影屬性,51,數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù)),選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù)(續(xù)) 數(shù)據(jù)更新事務(wù) 被更新的關(guān)系 每個(gè)關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求,52,數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù)),關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容 1. 為關(guān)系模式選擇存取方法(建立存取路徑) 2. 設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu),返回,53,7.5.2 關(guān)系模式存取方法選擇,數(shù)據(jù)庫(kù)系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求 物理設(shè)計(jì)的第一個(gè)任務(wù)就是要確定選擇哪些存取方法,即建立哪些存取路徑 存取方法是快速存取數(shù)據(jù)庫(kù)中數(shù)據(jù)的技術(shù),54,一、索引存取方法的選擇,選擇索引存取方法的主要內(nèi)容 根據(jù)應(yīng)用要求確定 對(duì)哪些屬性列建立索引 對(duì)哪些屬性列建立組合索引 對(duì)哪些索引要設(shè)計(jì)為唯一索引,55,索引存取方法的選擇(續(xù)),選擇索引存取方法的一般規(guī)則 如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引) 如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引 如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引,56,索引存取方法的選擇(續(xù)),關(guān)系上定義的索引數(shù)過(guò)多會(huì)帶來(lái)較多的額外開(kāi)銷(xiāo) 維護(hù)索引的開(kāi)銷(xiāo) 查找索引的開(kāi)銷(xiāo),返回,57,二、聚簇存取方法的選擇,什么是聚簇 為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇 許多關(guān)系型DBMS都提供了聚簇功能,58,建立聚簇索引 (復(fù)習(xí)),聚簇索引 建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項(xiàng)順序與表中元組的物理順序一致。 例:CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一個(gè)聚簇索引,而且Student表中的記錄將按照Sname值的升序存放 在一個(gè)基本表上最多只能建立一個(gè)聚簇索引,59,聚簇存取方法的選擇(續(xù)),聚簇的用途 1. 大大提高按聚簇屬性進(jìn)行查詢的效率 例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。 信息系的500名學(xué)生分布在500個(gè)不同的物理塊上時(shí),至少要執(zhí)行500次I/O操作。 如果將同一系的學(xué)生元組集中存放,則每讀一個(gè)物理塊可得到多個(gè)滿足查詢條件的元組,從而顯著地減少了訪問(wèn)磁盤(pán)的次數(shù)。,60,聚簇存取方法的選擇(續(xù)),2. 節(jié)省存儲(chǔ)空間 聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個(gè)元組中重復(fù)存儲(chǔ),只要在一組中存一次就行了,61,聚簇存取方法的選擇(續(xù)),聚簇的局限性 1. 聚簇只能提高某些特定應(yīng)用的性能 2. 建立與維護(hù)聚簇的開(kāi)銷(xiāo)相當(dāng)大 對(duì)已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動(dòng)其物理存儲(chǔ)位置,并使此關(guān)系上原有的索引無(wú)效,必須重建。 當(dāng)一個(gè)元組的聚簇碼改變時(shí),該元組的存儲(chǔ)位置也要做相應(yīng)移動(dòng)。,62,聚簇存取方法的選擇(續(xù)),選擇聚簇存取方法 1. 設(shè)計(jì)候選聚簇 對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立組合聚簇; 如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇; 如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。即對(duì)應(yīng)每個(gè)聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯。,63,聚簇存取方法的選擇(續(xù)),2. 檢查候選聚簇中的關(guān)系,取消其中不必要的關(guān)系 從獨(dú)立聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系; 從獨(dú)立/組合聚簇中刪除更新操作遠(yuǎn)多于查詢操作的關(guān)系; 從獨(dú)立/組合聚簇中刪除重復(fù)出現(xiàn)的關(guān)系 當(dāng)一個(gè)關(guān)系同時(shí)加入多個(gè)聚簇時(shí),必須從這多個(gè)聚簇方案(包括不建立聚簇)中選擇一個(gè)較優(yōu)的,即在這個(gè)聚簇上運(yùn)行各種事務(wù)的總代價(jià)最小。,返回,64,7.5.3 確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),1. 確定數(shù)據(jù)的存放位置 2. 確定系統(tǒng)配置,返回,65,1. 確定數(shù)據(jù)的存放位置,影響數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素 硬件環(huán)境 應(yīng)用需求 存取時(shí)間 存儲(chǔ)空間利用率 維護(hù)代價(jià) 這三個(gè)方面常常是相互矛盾的 例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲(chǔ)空間和減少維護(hù)代價(jià),但往往會(huì)導(dǎo)致檢索代價(jià)的增加。必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。,66,確定數(shù)據(jù)的存放位置(續(xù)),基本原則 根據(jù)應(yīng)用情況將 易變部分與穩(wěn)定部分 存取頻率較高部分與存取頻率較低部分分開(kāi)存放,以提高系統(tǒng)性能,67,2. 確定系統(tǒng)配置,DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù) 同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù) 同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù) 使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù) 時(shí)間片大小 數(shù)據(jù)庫(kù)的大小 鎖的數(shù)目 等等,68,確定系統(tǒng)配置(續(xù)),系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時(shí),需要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最優(yōu)。 在物理設(shè)計(jì)時(shí)對(duì)系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運(yùn)行時(shí)還要根據(jù)系統(tǒng)實(shí)際運(yùn)行情況做進(jìn)一步的調(diào)整,以期切實(shí)改進(jìn)系統(tǒng)性能。,返回,69,7.5.4 評(píng)價(jià)物理結(jié)構(gòu),評(píng)價(jià)內(nèi)容 對(duì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中產(chǎn)生的多種方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),70,7.5.4 評(píng)價(jià)物理結(jié)構(gòu),評(píng)價(jià)方法 定量估算各種方案 存儲(chǔ)空間 存取時(shí)間 維護(hù)代價(jià) 對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu) 如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì),返回,71,7.6 數(shù)據(jù)庫(kù)的實(shí)施和維護(hù),數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容 用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu) 組織數(shù)據(jù)入庫(kù) 編制與調(diào)試應(yīng)用程序 數(shù)據(jù)庫(kù)試運(yùn)行 數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù),返回,72,73,一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu),確定了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)后,就可以用所選用的DBMS提供的數(shù)據(jù)定義語(yǔ)言(DDL)來(lái)嚴(yán)格描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。,74,定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù)),例,對(duì)于前面的例子,可以用SQL語(yǔ)句如下定義表結(jié)構(gòu): CREATE TABLE 學(xué)生 (學(xué)號(hào) CHAR(8), ); CREATE TABLE 課程 ( ); ,75,定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù)),接下來(lái)是在這些基本表上定義視圖: CREATE VIEW . ( ); ,返回,76,二、數(shù)據(jù)裝載,數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫(kù)中裝載數(shù)據(jù)了。組織數(shù)據(jù)入庫(kù)是數(shù)據(jù)庫(kù)實(shí)施階段最主要的工作。 數(shù)據(jù)裝載方法 人工方法 計(jì)算機(jī)輔助數(shù)據(jù)入庫(kù),77,數(shù)據(jù)裝載(續(xù)),人工方法:適用于小型系統(tǒng) 步驟 1) 篩選數(shù)據(jù)。需要裝入數(shù)據(jù)庫(kù)中的數(shù)據(jù)通常都分散在各個(gè)部門(mén)的數(shù)據(jù)文件或原始憑證中,所以首先必須把需要入庫(kù)的數(shù)據(jù)篩選出來(lái)。 2) 轉(zhuǎn)換數(shù)據(jù)格式。篩選出來(lái)的需要入庫(kù)的數(shù)據(jù),其格式往往不符合數(shù)據(jù)庫(kù)要求,還需要進(jìn)行轉(zhuǎn)換。這種轉(zhuǎn)換有時(shí)可能很復(fù)雜。 3) 輸入數(shù)據(jù)。將轉(zhuǎn)換好的數(shù)據(jù)輸入計(jì)算機(jī)中。 4) 校驗(yàn)數(shù)據(jù)。檢查輸入的數(shù)據(jù)是否有誤。,78,數(shù)據(jù)裝載(續(xù)),計(jì)算機(jī)輔助數(shù)據(jù)入庫(kù):適用于中大型系統(tǒng) 步驟 1) 篩選數(shù)據(jù) 2) 輸入數(shù)據(jù)。由錄入員將原始數(shù)據(jù)直接輸入計(jì)算機(jī)中。數(shù)據(jù)輸入子系統(tǒng)應(yīng)提供輸入界面。 3) 校驗(yàn)數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)采用多種檢驗(yàn)技術(shù)檢查輸入數(shù)據(jù)的正確性。,79,數(shù)據(jù)裝載(續(xù)),4) 轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的要求,從錄入的數(shù)據(jù)中抽取有用成分,對(duì)其進(jìn)行分類(lèi),然后轉(zhuǎn)換數(shù)據(jù)格式。抽取、分類(lèi)和轉(zhuǎn)換數(shù)據(jù)是數(shù)據(jù)輸入子系統(tǒng)的主要工作,也是數(shù)據(jù)輸入子系統(tǒng)的復(fù)雜性所在。 5) 綜合數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)對(duì)轉(zhuǎn)換好的數(shù)據(jù)根據(jù)系統(tǒng)的要求進(jìn)一步綜合成最終數(shù)據(jù)。,80,數(shù)據(jù)裝載(續(xù)),如果數(shù)據(jù)庫(kù)是在老的文件系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上設(shè)計(jì)的,則數(shù)據(jù)輸入子系統(tǒng)只需要完成轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換成新系統(tǒng)中需要的數(shù)據(jù)格式。 為了保證數(shù)據(jù)能夠及時(shí)入庫(kù),應(yīng)在數(shù)據(jù)庫(kù)物理設(shè)計(jì)的同時(shí)編制數(shù)據(jù)輸入子系統(tǒng)。 綜合數(shù)據(jù)兩項(xiàng)工作,直接將老系統(tǒng)中的數(shù)據(jù),返回,81,三、編制與調(diào)試應(yīng)用程序,數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)應(yīng)該與數(shù)據(jù)設(shè)計(jì)并行進(jìn)行。 在數(shù)據(jù)庫(kù)實(shí)施階段,當(dāng)數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以開(kāi)始編制與調(diào)試數(shù)據(jù)庫(kù)的應(yīng)用程序。調(diào)試應(yīng)用程序時(shí)由于數(shù)據(jù)入庫(kù)尚未完成,可先使用模擬數(shù)據(jù)。,返回,82,四、數(shù)據(jù)庫(kù)試運(yùn)行,應(yīng)用程序調(diào)試完成,并且已有一小部分?jǐn)?shù)據(jù)入庫(kù)后,就可以開(kāi)始數(shù)據(jù)庫(kù)的試運(yùn)行。 數(shù)據(jù)庫(kù)試運(yùn)行也稱為聯(lián)合調(diào)試,其主要工作包括: 1)功能測(cè)試:實(shí)際運(yùn)行應(yīng)用程序,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的各種操作,測(cè)試應(yīng)用程序的各種功能 2)性能測(cè)試:測(cè)量系統(tǒng)的性能指標(biāo),分析是否符合設(shè)計(jì)目標(biāo)。,83,數(shù)據(jù)庫(kù)試運(yùn)行(續(xù)),數(shù)據(jù)庫(kù)性能指標(biāo)的測(cè)量 數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段在評(píng)價(jià)數(shù)據(jù)庫(kù)結(jié)構(gòu)估算時(shí)間、空間指標(biāo)時(shí),作了許多簡(jiǎn)化和假設(shè),忽略了許多次要因素,因此結(jié)果必然很粗糙。 數(shù)據(jù)庫(kù)試運(yùn)行則是要實(shí)際測(cè)量系統(tǒng)的各種性能指標(biāo)(不僅是時(shí)間、空間指標(biāo)),如果結(jié)果不符合設(shè)計(jì)目標(biāo),則需要返回物理設(shè)計(jì)階段,調(diào)整物理結(jié)構(gòu),修改參數(shù);有時(shí)甚至需要返回邏輯設(shè)計(jì)階段,調(diào)整邏輯結(jié)構(gòu)。,84,數(shù)據(jù)庫(kù)試運(yùn)行(續(xù)),數(shù)據(jù)的分期入庫(kù) 重新設(shè)計(jì)物理結(jié)構(gòu)甚至邏輯結(jié)構(gòu),會(huì)導(dǎo)致數(shù)據(jù)重新入庫(kù)。 由于數(shù)據(jù)入庫(kù)工作量實(shí)在太大,所以可以采用分期輸入數(shù)據(jù)的方法 先輸入小批量數(shù)據(jù)供先期聯(lián)合調(diào)試使用 待試運(yùn)行基本合格后再輸入大批量數(shù)據(jù) 逐步增加數(shù)據(jù)量,逐步完成運(yùn)行評(píng)價(jià),85,數(shù)據(jù)庫(kù)試運(yùn)行(續(xù)),數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù) 在數(shù)據(jù)庫(kù)試運(yùn)行階段,系統(tǒng)還不穩(wěn)定,硬、軟件故障隨時(shí)都可能發(fā)生 系統(tǒng)的操作人員對(duì)新系統(tǒng)還不熟悉,誤操作也不可避免 因此必須做好數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)工作,盡量減少對(duì)數(shù)據(jù)庫(kù)的破壞。,返回,86,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù),數(shù)據(jù)庫(kù)試運(yùn)行結(jié)果符合設(shè)計(jì)目標(biāo)后,數(shù)據(jù)庫(kù)就可以真正投入運(yùn)行了。 數(shù)據(jù)庫(kù)投入運(yùn)行標(biāo)著開(kāi)發(fā)任務(wù)的基本完成和維護(hù)工作的開(kāi)始 對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行評(píng)價(jià)、調(diào)整、修改等維護(hù)工作是一個(gè)長(zhǎng)期的任務(wù),也是設(shè)計(jì)工作的繼續(xù)和提高。 應(yīng)用環(huán)境在不斷變化 數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中物理存儲(chǔ)會(huì)不斷變化,87,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),在數(shù)據(jù)庫(kù)運(yùn)行階段,對(duì)數(shù)據(jù)庫(kù)經(jīng)常性的維護(hù)工作主要是由DBA完成的,包括: 數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù) 轉(zhuǎn)儲(chǔ)和恢復(fù)是系統(tǒng)正式運(yùn)行后最重要的維護(hù)工作之一。 DBA要針對(duì)不同的應(yīng)用要求制定不同的轉(zhuǎn)儲(chǔ)計(jì)劃,定期對(duì)數(shù)據(jù)庫(kù)和日志文件進(jìn)行備份。 一旦發(fā)生介質(zhì)故障,即利用數(shù)據(jù)庫(kù)備份及日志文件備份,盡快將數(shù)據(jù)庫(kù)恢復(fù)到某種一致性狀態(tài)。,88,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),數(shù)據(jù)庫(kù)的安全性、完整性控制 DBA必須根據(jù)用戶的實(shí)際需要授予不同的操作權(quán)限 在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,由于應(yīng)用環(huán)境的變化,對(duì)安全性的要求也會(huì)發(fā)生變化,DBA需要根據(jù)實(shí)際情況修改原有的安全性控制。 由于應(yīng)用環(huán)境的變化,數(shù)據(jù)庫(kù)的完整性約束條件也會(huì)變化,也需要DBA不斷修正,以滿足用戶要求。,89,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改進(jìn) 在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中, DBA必須監(jiān)督系統(tǒng)運(yùn)行,對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析,找出改進(jìn)系統(tǒng)性能的方法。 利用監(jiān)測(cè)工具獲取系統(tǒng)運(yùn)行過(guò)程中一系列性能參數(shù)的值 通過(guò)仔細(xì)分析這些數(shù)據(jù),判斷當(dāng)前系統(tǒng)是否處于最佳運(yùn)行狀態(tài) 如果不是,則需要通過(guò)調(diào)整某些參數(shù)來(lái)進(jìn)一步改進(jìn)數(shù)據(jù)庫(kù)性能,90,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),數(shù)據(jù)庫(kù)的重組織和重構(gòu)造 1)數(shù)據(jù)庫(kù)的重組織 為什么要重組織數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后,由于記錄的不斷增、刪、改,會(huì)使數(shù)據(jù)庫(kù)的物理存儲(chǔ)變壞,從而降低數(shù)據(jù)庫(kù)存儲(chǔ)空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫(kù)的性能下降。,91,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),重組織的形式 全部重組織 部分重組織 只對(duì)頻繁增、刪的表進(jìn)行重組織 重組織的目標(biāo) 提高系統(tǒng)性能,92,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),重組織的工作 按原設(shè)計(jì)要求 重新安排存儲(chǔ)位置 回收垃圾 減少指針鏈 數(shù)據(jù)庫(kù)的重組織不會(huì)改變?cè)O(shè)計(jì)的數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu),93,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),DBMS一般都提供了供重組織數(shù)據(jù)庫(kù)使用的實(shí)用程序,幫助DBA重新組織數(shù)據(jù)庫(kù)。,94,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),2)數(shù)據(jù)庫(kù)的重構(gòu)造 為什么要進(jìn)行數(shù)據(jù)庫(kù)的重構(gòu)造 數(shù)據(jù)庫(kù)應(yīng)用環(huán)境發(fā)生變化,會(huì)導(dǎo)致實(shí)體及實(shí)體間的聯(lián)系也發(fā)生相應(yīng)的變化,使原有的數(shù)據(jù)庫(kù)設(shè)計(jì)不能很好地滿足新的需求 增加新的應(yīng)用或新的實(shí)體 取消某些已有應(yīng)用 改變某些已有應(yīng)用,95,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),數(shù)據(jù)庫(kù)重構(gòu)造的主要工作 根據(jù)新環(huán)境調(diào)整數(shù)據(jù)庫(kù)的模式和內(nèi)模式 增加新的數(shù)據(jù)項(xiàng) 改變數(shù)據(jù)項(xiàng)的類(lèi)型 改變數(shù)據(jù)庫(kù)的容量 增加或刪除索引 修改完整性約束條件,96,數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)(續(xù)),重構(gòu)造數(shù)據(jù)庫(kù)的程度是有限的 若應(yīng)用變化太大,已無(wú)法通過(guò)重構(gòu)數(shù)據(jù)庫(kù)來(lái)滿足新的需求,或重構(gòu)數(shù)據(jù)庫(kù)的代價(jià)太大,則表明現(xiàn)有數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生命周期已經(jīng)結(jié)束,應(yīng)該重新設(shè)計(jì)新的數(shù)據(jù)庫(kù)系統(tǒng),開(kāi)始新數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生命周期了。,返回,97,7.7 小結(jié),數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程 需求分析 概念結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì) 物理設(shè)計(jì) 實(shí)施 運(yùn)行維護(hù) 設(shè)計(jì)過(guò)程中往往還會(huì)有許多反復(fù)。,返回,