版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)概論
AnIntroductiontoDatabaseSystem
第七章數(shù)據(jù)庫(kù)設(shè)計(jì)(續(xù)2)
西南科技大學(xué)計(jì)算機(jī)學(xué)院
AnIntroductiontoDatabaseSystem
第七章數(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é)
AnIntroductiontoDatabaseSystem
7.4邏輯結(jié)構(gòu)設(shè)計(jì)
?:?邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)
■把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E?R圖轉(zhuǎn)換
為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合
的邏輯結(jié)構(gòu)
AnIntroductiontoDatabaseSystem
?:?邏輯結(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)化
AnIntroductiontoDatabaseSystem
邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù))
邏輯結(jié)構(gòu)設(shè)計(jì)時(shí)的3個(gè)步驟
AnIntroductiontoDatabaseSystem
7.4邏輯結(jié)構(gòu)設(shè)計(jì)
7.4.1E?R圖向關(guān)系模型的轉(zhuǎn)換
7.4.2數(shù)據(jù)模型的優(yōu)化
7.4.3設(shè)計(jì)用戶子模式
AnIntroductiontoDatabaseSystem
7.4.1E?R圖向關(guān)系模型的轉(zhuǎn)換
?:?轉(zhuǎn)換內(nèi)容
?:?轉(zhuǎn)換原則
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
?:*E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問(wèn)題
-如何將實(shí)體型和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式
-如何確定這些關(guān)系模式的屬性和碼
?:?轉(zhuǎn)換內(nèi)容
?將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和
實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
實(shí)體型間的聯(lián)系有以下不同情況:
(1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可
以與任意一端對(duì)應(yīng)的關(guān)系模式合并。
■轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式
,與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并
AnIntroductiontoDatabaseSystem
(2)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,
也可以與n端對(duì)應(yīng)的關(guān)系模式合并。
■轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式
/與n端對(duì)應(yīng)的關(guān)系模式合并
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
(3)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。
例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)
換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的
組合碼:
選修(堂號(hào),課程號(hào),成績(jī))
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
(4)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)
系模式。
例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為
如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書號(hào)為關(guān)系的
組合碼:
講授(課程號(hào),職工號(hào),書號(hào))
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
(5)具有相同碼的關(guān)系模式可合并
■目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)
■合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)
關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能
不同名),并適當(dāng)調(diào)整屬性的次序
AnIntroductiontoDatabaseSystem
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)系合并更好些。
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型
■部門實(shí)體對(duì)應(yīng)的關(guān)系模式
部門(部門號(hào),部門名,經(jīng)理的職工號(hào),…)
A此關(guān)系模式已包含了聯(lián)系“領(lǐng)導(dǎo)”所對(duì)應(yīng)的關(guān)系
模式
A經(jīng)理的職工號(hào)是關(guān)系的候選碼
■職工實(shí)體對(duì)應(yīng)的關(guān)系模式
職工(職工號(hào)、部門號(hào),職工名,職務(wù),…)
A該關(guān)系模式已包含了聯(lián)系“屬于;所
3八Anintroductionystem
模r式
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù))
■產(chǎn)品實(shí)體對(duì)應(yīng)的關(guān)系模式
產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,產(chǎn)品組長(zhǎng)的職工號(hào),…)
■供應(yīng)商實(shí)體對(duì)應(yīng)的關(guān)系模式
供應(yīng)商(供應(yīng)商號(hào),姓名,…)
■零件實(shí)體對(duì)應(yīng)的關(guān)系模式
零件(零件號(hào),零件名,…)
AnIntroductiontoDatabaseSystem
E?R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))
[例]把圖7.30中虛線上部的E-R圖轉(zhuǎn)換為關(guān)系模型(續(xù))
■聯(lián)系“參加”所對(duì)應(yīng)的關(guān)系模式
職工工作(職工號(hào),產(chǎn)品號(hào),工作天數(shù),…)
■聯(lián)系“供應(yīng)”所對(duì)應(yīng)的關(guān)系模式
供應(yīng)(產(chǎn)品號(hào),供應(yīng)商號(hào),零件號(hào),供應(yīng)量)
AnIntroductiontoDatabaseSystem
7.4邏輯結(jié)構(gòu)設(shè)計(jì)
7.4.1E?R圖向關(guān)系模型的轉(zhuǎn)換
7.4.2數(shù)據(jù)模型的優(yōu)化
7.4.3設(shè)計(jì)用戶子模式
AnIntroductiontoDatabaseSystem
7.4.2數(shù)據(jù)模型的優(yōu)化
?:?得到初步數(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)
AnIntroductiontoDatabaseSystem
數(shù)據(jù)模型的優(yōu)化(續(xù))
?優(yōu)化數(shù)據(jù)模型的方法
確定數(shù)據(jù)依賴
按需求分析階段所得到的語(yǔ)義,分別寫出每個(gè)關(guān)系模式
內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間
數(shù)據(jù)依賴
AnIntroductiontoDatabaseSystem
2.確定所屬范式
■按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析
■考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依
賴等。
■確定各關(guān)系模式分別屬于第幾范式。
AnIntroductiontoDatabaseSystem
數(shù)據(jù)模型的優(yōu)化(續(xù))
3.按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,
分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,
確定是否要對(duì)它們進(jìn)行合并或分解。
注意:并不是規(guī)范化程度越高的關(guān)系就越優(yōu),一般說(shuō)
來(lái),第三范式就足夠了
AnIntroductiontoDatabaseSystem
數(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ī)
AnIntroductiontoDatabaseSystem
數(shù)據(jù)模型的優(yōu)化(續(xù))
顯然有:
學(xué)號(hào)一(英語(yǔ),數(shù)學(xué),語(yǔ)文)
因此該關(guān)系模式中存在傳遞函數(shù)信賴,是2NF關(guān)系
雖然平均成績(jī)可以由其他屬性推算出來(lái),但如果應(yīng)
用中需要經(jīng)常查詢學(xué)生的平均成績(jī),為提高效率,
仍然可保留該冗余數(shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步
分解
AnIntroductiontoDatabaseSystem
7.4邏輯結(jié)構(gòu)設(shè)計(jì)
7A1E?R圖向關(guān)系模型的轉(zhuǎn)換
7.4.2數(shù)據(jù)模型的優(yōu)化
7.4.3設(shè)計(jì)用戶子模式
AnIntroductiontoDatabaseSystem
7.4.3設(shè)計(jì)用戶子模式
?:?定義用戶外模式時(shí)應(yīng)該注重的問(wèn)題
包括三個(gè)方面:
(1)使用更符合用戶習(xí)慣的別名
(2)針對(duì)不同級(jí)別的用戶定義不同的View,以
滿足系統(tǒng)對(duì)安全性的要求。
(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用
AnIntroductiontoDatabaseSystem
設(shè)計(jì)用戶子模式(續(xù))
[例]關(guān)系模式產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià),生產(chǎn)車
間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級(jí)),
口]以在廣品關(guān)系上建立兩個(gè)視圖:
為一般顧客建立視圖:
產(chǎn)品1(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià))
為產(chǎn)品銷售部門建立視圖:
產(chǎn)品2(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià),車間,生產(chǎn)
負(fù)責(zé)人)
AnIntroductiontoDatabaseSystem
顧客視圖中只包含允許顧客查詢的屬性
■銷售部門視圖中只包含允許銷售部門查詢的屬性
■生產(chǎn)領(lǐng)導(dǎo)部門則可以查詢?nèi)慨a(chǎn)品數(shù)據(jù)
可以防止用戶非法訪問(wèn)不允許他們查詢的數(shù)據(jù),保證
系統(tǒng)的安全性
AnIntroductiontoDatabaseSystem
邏輯結(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ì)用戶子模式
AnIntroductiontoDatabaseSystem
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)
?:*E?R圖向關(guān)系模型的轉(zhuǎn)換內(nèi)容
?:+E-R圖向關(guān)系模型的轉(zhuǎn)換原則
AnIntroductiontoDatabaseSystem
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)
?優(yōu)化數(shù)據(jù)模型的方法
1.確定數(shù)據(jù)依賴
2.對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,
消除冗余的聯(lián)系。
3.確定各關(guān)系模式分別屬于第幾范式。
4.分析對(duì)于應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)
它們進(jìn)行合并或分解。
5.對(duì)關(guān)系模式進(jìn)行必要的分解或合并
AnIntroductiontoDatabaseSystem
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)
?:?設(shè)計(jì)用戶子模式
1.使用更符合用戶習(xí)慣的別名
2.針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)
對(duì)安全性的要求。
3,簡(jiǎn)化用戶對(duì)系統(tǒng)的使用
AnIntroductiontoDatabaseSystem
第七章數(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é)
AnIntroductiontoDatabaseSystem
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),它依賴于選定的數(shù)據(jù)庫(kù)管理系統(tǒng)
■為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境
的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(續(xù))
?:?數(shù)據(jù)庫(kù)物理設(shè)計(jì)的步驟
■確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法
和存儲(chǔ)結(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ù)模型
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(續(xù))
AnIntroductiontoDatabaseSystem
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)
AnIntroductiontoDatabaseSystem
7.5.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容和方法
?:?設(shè)計(jì)物理數(shù)據(jù)庫(kù)結(jié)構(gòu)的準(zhǔn)備工作
■對(duì)要運(yùn)行的事務(wù)進(jìn)行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫(kù)
設(shè)計(jì)所需參數(shù)
■充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的
存取方法和存儲(chǔ)結(jié)構(gòu)
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))
?選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù)
■數(shù)據(jù)庫(kù)查詢事務(wù)
A查詢的關(guān)系
>查詢條件所涉及的屬性
>連接條件所涉及的屬性
>查詢的投影屬性
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))
?選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù)(續(xù))
■數(shù)據(jù)更新事務(wù)
A被更新的關(guān)系
A每個(gè)關(guān)系上的更新操作條件所涉及的屬性
>修改操作要改變的屬性值
每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))
?關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容
■為關(guān)系模式選擇存取方法(建立存取路徑)
■設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu)
AnIntroductiontoDatabaseSystem
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)
AnIntroductiontoDatabaseSystem
7.5.2關(guān)系模式存取方法選擇
?:?數(shù)據(jù)庫(kù)系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多
條存取路徑才能滿足多用戶的多種應(yīng)用要求
?:?物理設(shè)計(jì)的任務(wù)之一就是要確定選擇哪些存取方法,即建
立哪些存取路徑
AnIntroductiontoDatabaseSystem
關(guān)系模式存取方法選擇(續(xù))
?:.DBMS常用存取方法
■索引方法
A目前主要是B+樹索引方法
A經(jīng)典存取方法,使用最普遍
聚簇(Cluster)方法
■HASH方法
AnIntroductiontoDatabaseSystem
?、索引存取方法的選擇
?:?根據(jù)應(yīng)用要求確定
對(duì)哪些屬性列建立索引
對(duì)哪些屬性列建立組合索引
對(duì)哪些索引要設(shè)計(jì)為唯一索引
AnIntroductiontoDatabaseSystem
索引存取方法的選擇(續(xù))
?選擇索引存取方法的一般規(guī)則
如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立
索弓1(或組合索引)
?如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上
建立索引
■如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)
屬性上建立索引
?關(guān)系上定義的索引數(shù)過(guò)多會(huì)帶來(lái)較多的額外開銷
■維護(hù)索引的開銷
■查找索引的開銷
AnIntroductiontoDatabaseSystem
二、聚簇存取方法的選擇
?:?聚簇
為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些
屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的
物理塊稱為聚簇
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
?:?聚簇的用途
-1.大大提高按聚簇碼進(jìn)行查詢的效率
例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的
所有學(xué)生名單。
A信息系的500名學(xué)生分布在500個(gè)不同的物理塊上時(shí),至
少要執(zhí)行500次I/O操作
A如果將同一系的學(xué)生元組集中存放,則每讀一個(gè)物理塊
可得到多個(gè)滿足查詢條件的元組,從而顯著地減少了訪
問(wèn)磁盤的次數(shù)
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
2.節(jié)省存儲(chǔ)空間
A聚簇以后,聚簇碼相同的元組集中在一起了,因而聚
簇碼值不必在每個(gè)元組中重復(fù)存儲(chǔ),只要在一組中存
一次就行了
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
?:?聚簇的局限性
■1.聚簇只能提高某些特定應(yīng)用的性能
■2.建立與維護(hù)聚簇的開銷相當(dāng)大
A對(duì)已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動(dòng)其物理存
儲(chǔ)位置,并使此關(guān)系上原有的索引無(wú)效,必須重建
A當(dāng)一個(gè)元組的聚簇碼改變時(shí),該元組的存儲(chǔ)位置也要做
相應(yīng)移動(dòng)
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
?:?聚簇的適用范圍
■1.既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于多個(gè)關(guān)系組
合聚簇
例:假設(shè)用戶經(jīng)常要按系別查詢學(xué)生成績(jī)單,這一查詢涉
及學(xué)生關(guān)系和選修關(guān)系的連接操作,即需要按學(xué)號(hào)連接這
兩個(gè)關(guān)系,為提高連接操作的效率,可以把具有相同學(xué)號(hào)
值的學(xué)生元組和選修元組在物理上聚簇在一起。這就相當(dāng)
于把多個(gè)關(guān)系按“預(yù)連接”的形式存放,從而大大提高連
接操作的效率。
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
2.當(dāng)通過(guò)聚簇碼進(jìn)行訪問(wèn)或連接是該關(guān)系的主要應(yīng)用,
與聚簇碼無(wú)關(guān)的其他訪問(wèn)很少或者是次要的時(shí),可以
使用聚簇。
A尤其當(dāng)SQL語(yǔ)句中包含有與聚簇碼有關(guān)的ORDERBY,
GROUPBY,UNION,DISTINCT等子句或短語(yǔ)時(shí),使
用聚簇特別有利,可以省去對(duì)結(jié)果集的排序操作
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
設(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ù)不
太少。太少了,聚簇的效果不明顯
AnIntroductiontoDatabaseSystem
聚簇存取方法的選擇(續(xù))
?:?優(yōu)化聚簇設(shè)計(jì)
>從聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;
>從聚簇中刪除更新操作遠(yuǎn)多于連接操作的關(guān)系;
A不同的聚簇中可能包含相同的關(guān)系,一個(gè)關(guān)系可以在某
一個(gè)聚簇中,但不能同時(shí)加入多個(gè)聚簇
-從這多個(gè)聚簇方案(包括不建立聚簇)中選擇一個(gè)較優(yōu)的,即
在這個(gè)聚簇上運(yùn)行各種事務(wù)的總代價(jià)最小
AnIntroductiontoDatabaseSystem
三、HASH存取方法的選擇
選擇HASH存取方法的規(guī)則
■當(dāng)一個(gè)關(guān)系滿足下列兩個(gè)條件時(shí),可以選擇HASH存取
方法
?該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)
在相等比較選擇條件中
A該關(guān)系的大小可預(yù)知,而且不變;
或
該關(guān)系的大小動(dòng)態(tài)改變,但所選用的DBMS提供了動(dòng)
態(tài)HASH存取方法
AnIntroductiontoDatabaseSystem
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)
AnIntroductiontoDatabaseSystem
7.5.3確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
?確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容
■1.確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)
A關(guān)系
>索引
>聚簇
>日志
>備份
■2.確定系統(tǒng)配置
AnIntroductiontoDatabaseSystem
1.確定數(shù)據(jù)的存放位置
?:?確定數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素
■存取時(shí)間
二存儲(chǔ)空間利用率
■維護(hù)代價(jià)
這三個(gè)方面常常是相互矛盾的
例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲(chǔ)空間和減少維
護(hù)代價(jià),但往往會(huì)導(dǎo)致檢索代價(jià)的增加
必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案
AnIntroductiontoDatabaseSystem
確定數(shù)據(jù)的存放位置(續(xù))
?:?基本原則
■根據(jù)應(yīng)用情況將
?易變部分與穩(wěn)定部分分開存放
A存取頻率較高部分與存取頻率較低部分,分開存放
AnIntroductiontoDatabaseSystem
確定數(shù)據(jù)的存放位置(續(xù))
例:
A數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)
時(shí)才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上
A如果計(jì)算機(jī)有多個(gè)磁盤或磁盤陣列,可以考慮將表
和索引分別放在不同的磁盤上,在查詢時(shí),由于磁盤
驅(qū)動(dòng)器并行工作,可以提高物理I/O讀寫的效率
AnIntroductiontoDatabaseSystem
確定數(shù)據(jù)的存放位置(續(xù))
例(續(xù)):
A可以將比較大的表分別放在兩個(gè)磁盤上,以加快存取
速度,這在多用戶環(huán)境下特別有效
A可以將日志文件與數(shù)據(jù)庫(kù)對(duì)象(表、索引等)放在不
同的磁盤以改進(jìn)系統(tǒng)的性能
AnIntroductiontoDatabaseSystem
2.確定系統(tǒng)配置
?DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù)
■同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù)
■同時(shí)打開的數(shù)據(jù)庫(kù)對(duì)象數(shù)
?內(nèi)存分配參數(shù)
?使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù)
■存儲(chǔ)分配參數(shù)
AnIntroductiontoDatabaseSystem
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)
AnIntroductiontoDatabaseSystem
754評(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)
AnIntroductiontoDatabaseSystem
評(píng)價(jià)物理結(jié)構(gòu)(續(xù))
?:?評(píng)價(jià)方法(完全依賴于所選用的DBMS)
■定量估算各種方案
>存儲(chǔ)空間
>存取時(shí)間
>維護(hù)代價(jià)
■對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的
物理結(jié)構(gòu)
如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)
AnIntroductiontoDatabaseSystem
第七章數(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é)
AnIntroductiontoDatabaseSystem
7.6數(shù)據(jù)庫(kù)實(shí)施和維護(hù)
7.6.1數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試
7.6.2數(shù)據(jù)庫(kù)的試運(yùn)行
7.6.3數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)
AnIntroductiontoDatabaseSystem
7.6.1數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試
?數(shù)據(jù)的載入
?應(yīng)用程序的編碼和調(diào)試
AnIntroductiontoDatabaseSystem
數(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ù)
AnIntroductiontoDatabaseSystem
應(yīng)用程序的編碼和調(diào)試
?:?數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)應(yīng)該與數(shù)據(jù)設(shè)計(jì)并行進(jìn)
行
?在組織數(shù)據(jù)入庫(kù)的同時(shí)還要調(diào)試應(yīng)用程序
AnIntroductiontoDatabaseSystem
7.6數(shù)據(jù)庫(kù)實(shí)施和維護(hù)
7.6.1數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試
7.6.2數(shù)據(jù)庫(kù)的試運(yùn)行
7.6.3數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)
AnIntroductiontoDatabaseSystem
7.6.2數(shù)據(jù)庫(kù)的試運(yùn)行
?在原有系統(tǒng)的數(shù)據(jù)有一小部分已輸入數(shù)據(jù)庫(kù)后,就可以開始對(duì)
數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行聯(lián)合調(diào)試,稱為數(shù)據(jù)庫(kù)的試運(yùn)行
?數(shù)據(jù)庫(kù)試運(yùn)行主要工作包括:
1)功能測(cè)試
'實(shí)際運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用程序,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的各種操作,測(cè)試應(yīng)用
程序的功能是否滿足設(shè)計(jì)要求
■如果不滿足,對(duì)應(yīng)用程序部分則要修改、調(diào)整,直到達(dá)到設(shè)計(jì)要
求
2)性能測(cè)試
■測(cè)量系統(tǒng)的性能指標(biāo),分析是否達(dá)到設(shè)計(jì)目標(biāo)
■如果測(cè)試的結(jié)果與設(shè)計(jì)目標(biāo)不符,則要返回物理設(shè)計(jì)階段,重新
調(diào)整物理結(jié)構(gòu),修改系統(tǒng)參數(shù),某些情況下甚至要返回邏輯設(shè)計(jì)
階段,修改邏輯結(jié)構(gòu)
AnIntroductiontoDatabaseSystem
數(shù)據(jù)庫(kù)的試運(yùn)行(續(xù))
強(qiáng)調(diào)兩點(diǎn):
分期分批組織數(shù)據(jù)入庫(kù)
■重新設(shè)計(jì)物理結(jié)構(gòu)甚至邏輯結(jié)構(gòu),會(huì)導(dǎo)致數(shù)據(jù)重新入
庫(kù)。
■由于數(shù)據(jù)入庫(kù)工作量實(shí)在太大,費(fèi)時(shí)、費(fèi)力,所以應(yīng)
分期分批地組織數(shù)據(jù)入庫(kù)
■先輸入小批量數(shù)據(jù)供調(diào)試用
A待試運(yùn)行基本合格后再大批量輸入數(shù)據(jù)
A逐步增加數(shù)據(jù)量,逐步完成運(yùn)行評(píng)價(jià)
AnIntroductiontoDatabaseSystem
數(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ù)的破壞。
AnIntroductiontoDatabaseSystem
7.6數(shù)據(jù)庫(kù)實(shí)施和維護(hù)
7.6.1數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試
7.6.2數(shù)據(jù)庫(kù)的試運(yùn)行
7.6.3數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)
AnIntroductiontoDatabaseSystem
7.6.3數(shù)據(jù)庫(kù)的運(yùn)行與維護(hù)
?:?數(shù)據(jù)庫(kù)試運(yùn)行合格后,數(shù)據(jù)庫(kù)即可投入正式運(yùn)行。
?數(shù)據(jù)庫(kù)投入運(yùn)行標(biāo)志著開發(fā)任務(wù)的基本完
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年必修3歷史月考778
- 子宮內(nèi)膜異位癥課件
- 礦山麻醉藥品管理辦法
- 2024年白公鵝疾病防控策略:獸醫(yī)專家的實(shí)戰(zhàn)經(jīng)驗(yàn)分享
- 2024年教育趨勢(shì)下的《鄧稼先》課件
- 專題01 名詞的種類精講課件初中英語(yǔ)語(yǔ)法課件
- 創(chuàng)新教育之路:2024年大青樹下小學(xué)課件的推廣與實(shí)踐
- 探討2024年全球貿(mào)易趨勢(shì):《國(guó)際貿(mào)易概論》教案
- 第47屆世界技能大賽江蘇省選拔賽精細(xì)木工項(xiàng)目技術(shù)文件(初稿)
- 未來(lái)教室展望:2024年辦公自動(dòng)化教案的創(chuàng)新實(shí)踐
- 羅漢果基本知識(shí)培訓(xùn)
- 肌肉注射操作并發(fā)癥的預(yù)防及處理
- 起重機(jī)械使用單位安全總監(jiān)-特種設(shè)備考試題庫(kù)
- 江蘇省徐州市六縣2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期中考試試卷
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 2024山東能源集團(tuán)中級(jí)人才庫(kù)選拔【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 國(guó)家開放大學(xué)電大《11662會(huì)計(jì)信息系統(tǒng)(本)》期末終考題庫(kù)及標(biāo)準(zhǔn)參考答案
- 醫(yī)院公共衛(wèi)生管理制度
- DL-T5745-2021電力建設(shè)工程工程量清單計(jì)價(jià)規(guī)范
- 物業(yè)安全風(fēng)險(xiǎn)識(shí)別與評(píng)估
- 廠房設(shè)施維護(hù)保養(yǎng)計(jì)劃
評(píng)論
0/150
提交評(píng)論