版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計( (續(xù)續(xù)2)2).第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié).7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計v邏輯結(jié)構(gòu)設(shè)計的任務(wù)把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)v邏輯結(jié)構(gòu)設(shè)計的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的
2、關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對數(shù)據(jù)模型進(jìn)行優(yōu)化. 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計(續(xù)續(xù))邏輯結(jié)構(gòu)設(shè)計時的3個步驟 .7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化7.4.3 設(shè)計用戶子模式設(shè)計用戶子模式.7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換圖向關(guān)系模型的轉(zhuǎn)換v轉(zhuǎn)換內(nèi)容v轉(zhuǎn)換原則.E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))vE-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題 如何將實體型和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式 如何確定這些關(guān)系模式的屬性和碼 v轉(zhuǎn)換內(nèi)容 將E-R圖
3、轉(zhuǎn)換為關(guān)系模型:將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。.E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))實體型間的聯(lián)系有以下不同情況 :(1)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個獨立的關(guān)系模式 與某一端實體對應(yīng)的關(guān)系模式合并(2)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。 轉(zhuǎn)換為一個獨立的關(guān)系模式與n端對應(yīng)的關(guān)系模式合并.E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(3) 一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。例,“選修”聯(lián)系是一個m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課
4、程號為關(guān)系的組合碼:選修(學(xué)號,課程號,成績).E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(4)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。例,“講授”聯(lián)系是一個三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號、職工號和書號為關(guān)系的組合碼:講授(課程號,職工號,書號).E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))(5)具有相同碼的關(guān)系模式可合并 目的:減少系統(tǒng)中的關(guān)系個數(shù) 合并方法:將其中一個關(guān)系模式的全部屬性加入到另一個關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序.E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))注意:
5、v 從理論上講,1:1聯(lián)系可以與任意一端對應(yīng)的關(guān)系模式合并v 但在一些情況下,與不同的關(guān)系模式合并效率會大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。v 由于連接操作是最費時的操作,所以一般應(yīng)以盡量減少連接操作為目標(biāo)。 例如,如果經(jīng)常要查詢某個班級的班主任姓名,則將管理聯(lián)系與教師關(guān)系合并更好些。.E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例 把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型 部門實體對應(yīng)的關(guān)系模式 部門(部門號,部門名,經(jīng)理的職工號,) 此關(guān)系模式已包含了聯(lián)系“領(lǐng)導(dǎo)”所對應(yīng)的關(guān)系模式 經(jīng)理的職工號是關(guān)系的候選碼 職工實體對應(yīng)的關(guān)系模式 職工(職工
6、號、部門號,職工名,職務(wù),) 該關(guān)系模式已包含了聯(lián)系“屬于”所對應(yīng)的關(guān)系模式 .E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例 把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù)) 產(chǎn)品實體對應(yīng)的關(guān)系模式 產(chǎn)品(產(chǎn)品號,產(chǎn)品名,產(chǎn)品組長的職工號,) 供應(yīng)商實體對應(yīng)的關(guān)系模式 供應(yīng)商(供應(yīng)商號,姓名,) 零件實體對應(yīng)的關(guān)系模式 零件(零件號,零件名,) .E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例 把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù)) 聯(lián)系“參加”所對應(yīng)的關(guān)系模式 職工工作(職工號,產(chǎn)品號,工作天數(shù),) 聯(lián)系“供應(yīng)”所對應(yīng)的關(guān)系模式 供應(yīng)(產(chǎn)品號,供應(yīng)商號
7、,零件號,供應(yīng)量) .7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化7.4.3 設(shè)計用戶子模式設(shè)計用戶子模式.7.4.2 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化v 得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化v 關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo).數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù))v優(yōu)化數(shù)據(jù)模型的方法v確定數(shù)據(jù)依賴v按需求分析階段所得到的語義,分別寫出每個關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴v消除 冗余的聯(lián)系v對于各個
8、關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除 冗余的聯(lián)系。v確定所屬范式按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進(jìn)行分析考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等確定各關(guān)系模式分別屬于第幾范式.數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù))v按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,v 確定是否要對它們進(jìn)行合并或分解。并不是規(guī)范化程度越高的關(guān)系就越優(yōu),一般說來,第三范式就足夠了.數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù))例:在關(guān)系模式 學(xué)生成績單(學(xué)號,英語,數(shù)學(xué),語文,平均成績) 中存在下列函數(shù)依賴: 學(xué)號英語 學(xué)號數(shù)學(xué) 學(xué)號語文 學(xué)號平均成績 (英語,
9、數(shù)學(xué), 語文)平均成績.數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù)) 顯然有: 學(xué)號(英語,數(shù)學(xué),語文)因此該關(guān)系模式中存在傳遞函數(shù)信賴,是2NF關(guān)系 雖然平均成績可以由其他屬性推算出來,但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績,為提高效率,仍然可保留該冗余數(shù)據(jù),對關(guān)系模式不再做進(jìn)一步分解.數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù))v按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,對關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)操作的效率和存儲空間的利用率常用分解方法 水平分解 垂直分解.數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù)) 水平分解什么是水平分解 把(基本)關(guān)系的元組分為若干子集合,定義每個子集合為一個子關(guān)
10、系,以提高系統(tǒng)的效率水平分解的適用范圍 滿足“80/20原則”的應(yīng)用 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù).數(shù)據(jù)模型的優(yōu)化(續(xù))數(shù)據(jù)模型的優(yōu)化(續(xù)) 垂直分解什么是垂直分解 把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式垂直分解的適用范圍 取決于分解后R上的所有事務(wù)的總效率是否得到了提高.7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化7.4.3 設(shè)計用戶子模式設(shè)計用戶子模式.7.4.3 設(shè)計用戶子模式設(shè)計用戶子模式v定義用戶外模式時應(yīng)該注重的問題 包括三個方面: (1) 使用更符合用戶習(xí)慣的別名 (2) 針對不同級
11、別的用戶定義不同的View ,以 滿足系統(tǒng)對安全性的要求。 (3) 簡化用戶對系統(tǒng)的使用.設(shè)計用戶子模式(續(xù))設(shè)計用戶子模式(續(xù))例例 關(guān)系模式產(chǎn)品(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,生產(chǎn)車間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級),可以在產(chǎn)品關(guān)系上建立兩個視圖: 為一般顧客建立視圖: 產(chǎn)品1(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價) 為產(chǎn)品銷售部門建立視圖: 產(chǎn)品2(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,車間,生產(chǎn)負(fù)責(zé)人) 顧客視圖中只包含允許顧客查詢的屬性 銷售部門視圖中只包含允許銷售部門查詢的屬性 生產(chǎn)領(lǐng)導(dǎo)部門則可以查詢?nèi)慨a(chǎn)品數(shù)據(jù) 可以防止用戶非法訪問不允許他們查詢的數(shù)據(jù),保證系統(tǒng)的安全性.邏輯結(jié)構(gòu)設(shè)計小結(jié)
12、邏輯結(jié)構(gòu)設(shè)計小結(jié)v 任務(wù) 將概念結(jié)構(gòu)轉(zhuǎn)化為具體的數(shù)據(jù)模型v 邏輯結(jié)構(gòu)設(shè)計的步驟 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對數(shù)據(jù)模型進(jìn)行優(yōu)化 設(shè)計用戶子模式.邏輯結(jié)構(gòu)設(shè)計小結(jié)邏輯結(jié)構(gòu)設(shè)計小結(jié)vE-R圖向關(guān)系模型的轉(zhuǎn)換內(nèi)容vE-R圖向關(guān)系模型的轉(zhuǎn)換原則.邏輯結(jié)構(gòu)設(shè)計小結(jié)邏輯結(jié)構(gòu)設(shè)計小結(jié)v優(yōu)化數(shù)據(jù)模型的方法 1. 確定數(shù)據(jù)依賴 2. 對于各個關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。 3. 確定各關(guān)系模式分別屬于第幾范式。 4. 分析對于應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進(jìn)行合并或分解。 5. 對關(guān)系模式進(jìn)行必
13、要的分解或合并.邏輯結(jié)構(gòu)設(shè)計小結(jié)邏輯結(jié)構(gòu)設(shè)計小結(jié)v設(shè)計用戶子模式 1. 使用更符合用戶習(xí)慣的別名 2. 針對不同級別的用戶定義不同的外模式,以滿足系統(tǒng)對安全性的要求。 3. 簡化用戶對系統(tǒng)的使用.第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié).7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計v數(shù)據(jù)庫的物理設(shè)計 數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理
14、系統(tǒng) 為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計.數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計(續(xù)續(xù))v數(shù)據(jù)庫物理設(shè)計的步驟 確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu) 對物理結(jié)構(gòu)進(jìn)行評價,評價的重點是時間和空間效率 如果評價結(jié)果滿足原設(shè)計要求,則可進(jìn)入到物理實施階段,否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回邏輯設(shè)計階段修改數(shù)據(jù)模型.數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計(續(xù)續(xù))數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計確定數(shù)確定數(shù)據(jù)庫的據(jù)庫的物理結(jié)物理結(jié)構(gòu)構(gòu)評價數(shù)據(jù)評價數(shù)據(jù)庫的物理庫的物理結(jié)構(gòu)結(jié)構(gòu)邏輯結(jié)邏輯結(jié)構(gòu)設(shè)計構(gòu)設(shè)計數(shù)據(jù)庫數(shù)據(jù)庫實施實施物理物理模型模
15、型邏輯邏輯模型模型.7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.5.1 數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu).7.5.1 數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法v設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)的準(zhǔn)備工作 對要運行的事務(wù)進(jìn)行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù) 充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu).數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))v選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù) 數(shù)據(jù)庫查詢
16、事務(wù)查詢的關(guān)系 查詢條件所涉及的屬性 連接條件所涉及的屬性 查詢的投影屬性 .數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))v選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)(續(xù)) 數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個事務(wù)在各關(guān)系上運行的頻率和性能要求.數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))v關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容 為關(guān)系模式選擇存取方法(建立存取路徑) 設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu).7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.5.1 數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2
17、 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu).7.5.2 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇v 數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求v 物理設(shè)計的任務(wù)之一就是要確定選擇哪些存取方法,即建立哪些存取路徑.關(guān)系模式存取方法選擇(續(xù))關(guān)系模式存取方法選擇(續(xù))vDBMS常用存取方法 索引方法目前主要是B+樹索引方法經(jīng)典存取方法,使用最普遍 聚簇(Cluster)方法 HASH方法.一、索引存取方法的選擇一、索引存取方法的選擇v 根據(jù)應(yīng)用要求確定 對哪些屬性列
18、建立索引 對哪些屬性列建立組合索引 對哪些索引要設(shè)計為唯一索引.索引存取方法的選擇(續(xù))索引存取方法的選擇(續(xù))v 選擇索引存取方法的一般規(guī)則如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引如果一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引v關(guān)系上定義的索引數(shù)過多會帶來較多的額外開銷 維護(hù)索引的開銷 查找索引的開銷.二、聚簇存取方法的選擇二、聚簇存取方法的選擇v聚簇 為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性(稱為聚簇
19、碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇.聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù))v聚簇的用途 1. 大大提高按聚簇碼進(jìn)行查詢的效率 例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。信息系的500名學(xué)生分布在500個不同的物理塊上時,至少要執(zhí)行500次I/O操作如果將同一系的學(xué)生元組集中存放,則每讀一個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數(shù).聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù)) 2. 節(jié)省存儲空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個元組中重復(fù)存儲,只要在一組中存一次就行了.聚簇存取方法的選擇
20、(續(xù))聚簇存取方法的選擇(續(xù))v聚簇的局限性 1. 聚簇只能提高某些特定應(yīng)用的性能 2. 建立與維護(hù)聚簇的開銷相當(dāng)大對已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動其物理存儲位置,并使此關(guān)系上原有的索引無效,必須重建當(dāng)一個元組的聚簇碼改變時,該元組的存儲位置也要做相應(yīng)移動.聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù))v聚簇的適用范圍 1. 既適用于單個關(guān)系獨立聚簇,也適用于多個關(guān)系組合聚簇例:假設(shè)用戶經(jīng)常要按系別查詢學(xué)生成績單,這一查詢涉及學(xué)生關(guān)系和選修關(guān)系的連接操作,即需要按學(xué)號連接這兩個關(guān)系,為提高連接操作的效率,可以把具有相同學(xué)號值的學(xué)生元組和選修元組在物理上聚簇在一起。這就相當(dāng)于把多個關(guān)系
21、按“預(yù)連接”的形式存放,從而大大提高連接操作的效率。.聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù)) 2. 當(dāng)通過聚簇碼進(jìn)行訪問或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無關(guān)的其他訪問很少或者是次要的時,可以使用聚簇。尤其當(dāng)SQL語句中包含有與聚簇碼有關(guān)的ORDER BY,GROUP BY,UNION,DISTINCT等子句或短語時,使用聚簇特別有利,可以省去對結(jié)果集的排序操作.聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù))v設(shè)計候選聚簇對經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇如果一個關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個關(guān)系可建立聚簇如果一個關(guān)系的一個(或一組)屬性上的值重復(fù)率很高,
22、則此單個關(guān)系可建立聚簇。即對應(yīng)每個聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯.聚簇存取方法的選擇(續(xù))聚簇存取方法的選擇(續(xù))v優(yōu)化聚簇設(shè)計從聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;從聚簇中刪除更新操作遠(yuǎn)多于連接操作的關(guān)系;不同的聚簇中可能包含相同的關(guān)系,一個關(guān)系可以在某一個聚簇中,但不能同時加入多個聚簇 從這多個聚簇方案(包括不建立聚簇)中選擇一個較優(yōu)的,即在這個聚簇上運行各種事務(wù)的總代價最小.三、三、HASH存取方法的選擇存取方法的選擇v 選擇HASH存取方法的規(guī)則 當(dāng)一個關(guān)系滿足下列兩個條件時,可以選擇HASH存取方法該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中
23、該關(guān)系的大小可預(yù)知,而且不變; 或 該關(guān)系的大小動態(tài)改變,但所選用的DBMS提供了動態(tài)HASH存取方法.7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.5.1 數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu).7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)v確定數(shù)據(jù)庫物理結(jié)構(gòu)的內(nèi)容 1. 確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu) 關(guān)系 索引 聚簇 日志 備份 2. 確定系統(tǒng)配置.1. 確定數(shù)據(jù)的存放位置確定數(shù)據(jù)的存放位置v確定數(shù)據(jù)存放位置和存儲結(jié)構(gòu)的因素 存取時
24、間 存儲空間利用率 維護(hù)代價 這三個方面常常是相互矛盾的 例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲空間和減少維護(hù)代價,但往往會導(dǎo)致檢索代價的增加 必須進(jìn)行權(quán)衡,選擇一個折中方案.確定數(shù)據(jù)的存放位置(續(xù))確定數(shù)據(jù)的存放位置(續(xù))v基本原則 根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分分開存放存取頻率較高部分與存取頻率較低部分,分開存放.確定數(shù)據(jù)的存放位置(續(xù))確定數(shù)據(jù)的存放位置(續(xù))例:數(shù)據(jù)庫數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上如果計算機(jī)有多個磁盤或磁盤陣列 ,可以考慮將表和索引分別放在不同的磁盤上,在查詢時,由于磁盤驅(qū)動器并行工作,可以提高物理I/O讀寫的效率
25、.確定數(shù)據(jù)的存放位置(續(xù))確定數(shù)據(jù)的存放位置(續(xù))例(續(xù)):可以將比較大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效可以將日志文件與數(shù)據(jù)庫對象(表、索引等)放在不同的磁盤以改進(jìn)系統(tǒng)的性能.2. 確定系統(tǒng)配置確定系統(tǒng)配置vDBMS產(chǎn)品一般都提供了一些存儲分配參數(shù) 同時使用數(shù)據(jù)庫的用戶數(shù) 同時打開的數(shù)據(jù)庫對象數(shù) 內(nèi)存分配參數(shù) 使用的緩沖區(qū)長度、個數(shù) 存儲分配參數(shù) .7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.5.1 數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.
26、4 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu).7.5.4 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu)v評價內(nèi)容 對數(shù)據(jù)庫物理設(shè)計過程中產(chǎn)生的多種方案進(jìn)行細(xì)致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu).評價物理結(jié)構(gòu)評價物理結(jié)構(gòu)(續(xù)續(xù))v評價方法(完全依賴于所選用的DBMS ) 定量估算各種方案 存儲空間 存取時間 維護(hù)代價 對估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu) 如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計.第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.
27、6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié).7.6數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)7.6.1 數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試7.6.2 數(shù)據(jù)庫的試運行數(shù)據(jù)庫的試運行 7.6.3 數(shù)據(jù)庫的運行和維護(hù)數(shù)據(jù)庫的運行和維護(hù) .7.6.1 數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試v 數(shù)據(jù)的載入 v 應(yīng)用程序的編碼和調(diào)試. 數(shù)據(jù)的載入數(shù)據(jù)的載入 v 數(shù)據(jù)庫結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫中裝載數(shù)據(jù)了。組織數(shù)據(jù)入庫是數(shù)據(jù)庫實施階段最主要的工作。v 數(shù)據(jù)裝載方法 人工方法 計算機(jī)輔助數(shù)據(jù)入庫.應(yīng)用程序的編碼和調(diào)試應(yīng)用程序的編碼和調(diào)試v數(shù)據(jù)庫應(yīng)用程序的設(shè)計應(yīng)該與數(shù)據(jù)設(shè)
28、計并行進(jìn)行v在組織數(shù)據(jù)入庫的同時還要調(diào)試應(yīng)用程序 .7.6數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)7.6.1 數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試7.6.2 數(shù)據(jù)庫的試運行數(shù)據(jù)庫的試運行 7.6.3 數(shù)據(jù)庫的運行和維護(hù)數(shù)據(jù)庫的運行和維護(hù) .7.6.2 數(shù)據(jù)庫的試運行數(shù)據(jù)庫的試運行v 在原有系統(tǒng)的數(shù)據(jù)有一小部分已輸入數(shù)據(jù)庫后,就可以開始對數(shù)據(jù)庫系統(tǒng)進(jìn)行聯(lián)合調(diào)試,稱為數(shù)據(jù)庫的試運行 v 數(shù)據(jù)庫試運行主要工作包括:1)功能測試 實際運行數(shù)據(jù)庫應(yīng)用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,測試應(yīng)用程序的功能是否滿足設(shè)計要求 如果不滿足,對應(yīng)用程序部分則要修改、調(diào)整,直到達(dá)到設(shè)計要求2)性能測試 測量系統(tǒng)的
29、性能指標(biāo),分析是否達(dá)到設(shè)計目標(biāo) 如果測試的結(jié)果與設(shè)計目標(biāo)不符,則要返回物理設(shè)計階段,重新調(diào)整物理結(jié)構(gòu),修改系統(tǒng)參數(shù),某些情況下甚至要返回邏輯設(shè)計階段,修改邏輯結(jié)構(gòu) .數(shù)據(jù)庫的試運行(續(xù))數(shù)據(jù)庫的試運行(續(xù))強調(diào)兩點:v 分期分批組織數(shù)據(jù)入庫 重新設(shè)計物理結(jié)構(gòu)甚至邏輯結(jié)構(gòu),會導(dǎo)致數(shù)據(jù)重新入庫。 由于數(shù)據(jù)入庫工作量實在太大,費時、費力,所以應(yīng)分期分批地組織數(shù)據(jù)入庫 先輸入小批量數(shù)據(jù)供調(diào)試用待試運行基本合格后再大批量輸入數(shù)據(jù)逐步增加數(shù)據(jù)量,逐步完成運行評價.數(shù)據(jù)庫的試運行(續(xù))數(shù)據(jù)庫的試運行(續(xù))v 數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù) 在數(shù)據(jù)庫試運行階段,系統(tǒng)還不穩(wěn)定,硬、軟件故障隨時都可能發(fā)生 系統(tǒng)的操作人員對新系統(tǒng)還不熟悉,誤操作也不可避免 因此必須做好數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)工作,盡量減少對數(shù)據(jù)庫的破壞。.7.6數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)7.6.1 數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試7.6.2 數(shù)據(jù)庫的試運行數(shù)據(jù)庫的試運行 7.6.3 數(shù)據(jù)庫的運行和維護(hù)數(shù)據(jù)庫的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)物聯(lián)網(wǎng)(IoT)行業(yè)相關(guān)項目經(jīng)營管理報告
- 紗線成條和梳理機(jī)項目營銷計劃書
- 為第三方提供會計服務(wù)行業(yè)營銷策略方案
- 醫(yī)用蓖麻油產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 生物識別鎖項目運營指導(dǎo)方案
- 農(nóng)業(yè)作物病害化學(xué)防治行業(yè)經(jīng)營分析報告
- 草料混合機(jī)產(chǎn)品供應(yīng)鏈分析
- 健康技術(shù)智能藥盒行業(yè)相關(guān)項目經(jīng)營管理報告
- 自行車曲軸項目運營指導(dǎo)方案
- 電信業(yè)用收款機(jī)市場發(fā)展前景分析及供需格局研究預(yù)測報告
- 2018年全國統(tǒng)一施工機(jī)械臺班費用定額
- 2023纖維復(fù)合材料修復(fù)加固邊坡支擋結(jié)構(gòu)技術(shù)規(guī)程
- 幼兒園消防演練活動總結(jié)講話(5篇)
- 智慧農(nóng)業(yè)智慧水稻項目規(guī)劃設(shè)計方案
- 攝影攝像構(gòu)圖技法課件
- 胃潰瘍健康宣教
- 黑龍江龍煤雙鴨山礦業(yè)有限責(zé)任公司雙陽煤礦重大瓦斯爆炸事故專項風(fēng)險辨識評估報告
- 《航天器熱控技術(shù)》課件
- 《藏式建筑簡介》課件
- 2023-2024學(xué)年山東省棗莊市滕州市七年級(上)期中數(shù)學(xué)試卷
- 關(guān)于學(xué)習(xí)行為表現(xiàn)【十篇】
評論
0/150
提交評論