數(shù)據(jù)庫(kù)的物理設(shè)計(jì)、運(yùn)行與維護(hù)_第1頁(yè)
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)、運(yùn)行與維護(hù)_第2頁(yè)
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)、運(yùn)行與維護(hù)_第3頁(yè)
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)、運(yùn)行與維護(hù)_第4頁(yè)
數(shù)據(jù)庫(kù)的物理設(shè)計(jì)、運(yùn)行與維護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

第九章數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)之二第一頁(yè),共六十七頁(yè)。本章學(xué)習(xí)要點(diǎn):

(1)掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟。(2)熟悉需求分析過(guò)程。(3)掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的概念結(jié)構(gòu)設(shè)計(jì)。(4)掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的邏輯結(jié)構(gòu)設(shè)計(jì)。(5)了解數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。(6)掌握E-R圖設(shè)計(jì)、E-R圖向關(guān)系模式的轉(zhuǎn)換、及優(yōu)化方法。(7)掌握索引的概念、分類(lèi)、基本方法。第二頁(yè),共六十七頁(yè)。9.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述9.2需求分析9.3概念結(jié)構(gòu)設(shè)計(jì)9.4邏輯結(jié)構(gòu)設(shè)計(jì)9.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)9.6數(shù)據(jù)庫(kù)實(shí)施9.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)9.8小結(jié)內(nèi)容提要:第三頁(yè),共六十七頁(yè)。9.4邏輯結(jié)構(gòu)設(shè)計(jì)(重點(diǎn))邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)

基本E-R模型數(shù)據(jù)模型(概念設(shè)計(jì)階段)(DBMS)關(guān)系數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的步驟(1)將概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型。(2)將關(guān)系數(shù)據(jù)模型轉(zhuǎn)換成特定DBMS支持下的關(guān)系數(shù)據(jù)模型。(3)對(duì)關(guān)系數(shù)據(jù)模型進(jìn)行優(yōu)化。轉(zhuǎn)換第四頁(yè),共六十七頁(yè)?!P(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。※目標(biāo):將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。第五頁(yè),共六十七頁(yè)。9.4.1E-R模型向關(guān)系模型的轉(zhuǎn)換1、轉(zhuǎn)換原則及具體方法:(1)一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式:關(guān)系的屬性:實(shí)體的屬性;關(guān)系的碼:實(shí)體的碼。(2)聯(lián)系的轉(zhuǎn)換原則1)1:1聯(lián)系A(chǔ)、轉(zhuǎn)換為獨(dú)立的關(guān)系模式:屬性=兩關(guān)聯(lián)實(shí)體各自的主碼+[聯(lián)系本身的屬性]碼=每個(gè)關(guān)聯(lián)的實(shí)體主碼的均是候選碼。B、與任一方關(guān)系模式合并:將一方實(shí)體的碼與聯(lián)系屬性一并加入另一方。主碼:不變。第六頁(yè),共六十七頁(yè)。實(shí)例:部門(mén)與經(jīng)理:1:1聯(lián)系各實(shí)體屬性部門(mén):部門(mén)號(hào)、部門(mén)名稱經(jīng)理:工號(hào)、姓名、性別、出生年月。聯(lián)系的屬性:任期A、聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式:部門(mén)(部門(mén)號(hào),部門(mén)名稱)經(jīng)理(工號(hào)、姓名、性別、出生年月)負(fù)責(zé)(部門(mén)號(hào),工號(hào),任期)B、與任一方關(guān)系模式合并:部門(mén)(部門(mén)號(hào),部門(mén)名稱,工號(hào),任期)經(jīng)理(工號(hào)、姓名、性別、出生年月)部門(mén)經(jīng)理負(fù)責(zé)11第七頁(yè),共六十七頁(yè)。2)1:m聯(lián)系:A、轉(zhuǎn)換為獨(dú)立的關(guān)系模式屬性=兩關(guān)聯(lián)實(shí)體各自的主碼+[聯(lián)系本身的屬性]主碼=“m”方實(shí)體主碼的主碼。B、將為“1”方的實(shí)體的主碼(作為外碼)與聯(lián)系屬性一并加入“m”方實(shí)體。合并后,碼不變。第八頁(yè),共六十七頁(yè)。3)m:n聯(lián)系:須單獨(dú)建立一個(gè)關(guān)系模式。屬性=兩關(guān)聯(lián)實(shí)體各自的主碼+[聯(lián)系本身的屬性]主碼=兩關(guān)聯(lián)實(shí)體主碼的組合。4)同一實(shí)體之間的1:m聯(lián)系

在該實(shí)體對(duì)應(yīng)的關(guān)系模式中加入為“1”實(shí)體的主碼和聯(lián)系的屬性。第九頁(yè),共六十七頁(yè)。實(shí)例:?jiǎn)T工工號(hào)姓名性別出生年月工資民意測(cè)試負(fù)責(zé)1m第十頁(yè),共六十七頁(yè)。關(guān)系模式為:?jiǎn)T工(工號(hào),姓名,性別,出生年月,經(jīng)理工號(hào),民意測(cè)驗(yàn))。第十一頁(yè),共六十七頁(yè)。6)超類(lèi)和子類(lèi)的轉(zhuǎn)換超類(lèi)、子類(lèi)實(shí)體可轉(zhuǎn)換為一個(gè)關(guān)系,并將超類(lèi)實(shí)體的主碼加到子類(lèi)實(shí)體中。實(shí)例:?jiǎn)T工管理員部門(mén)經(jīng)理工程師職工號(hào)性別出生年月參加工作時(shí)間姓名部門(mén)號(hào)學(xué)歷崗位津貼級(jí)別職務(wù)職稱學(xué)歷專(zhuān)業(yè)職稱第十二頁(yè),共六十七頁(yè)。該E-R模型轉(zhuǎn)換為關(guān)系模式為:?jiǎn)T工(職工號(hào),姓名,性別,出生年月,參加工作時(shí)間,部門(mén)號(hào))部門(mén)經(jīng)理(職工號(hào),學(xué)歷,級(jí)別,崗位津貼)管理員(職工號(hào),職務(wù),職稱)工程師(職工號(hào),學(xué)歷,專(zhuān)業(yè)職稱)第十三頁(yè),共六十七頁(yè)。為方便查詢,還可在超類(lèi)實(shí)體中增加一個(gè)指示屬性,根據(jù)指示的值直接查詢子類(lèi)實(shí)體表。員工(職工號(hào)、姓名、性別、出生年月,參加工作時(shí)間,部門(mén)號(hào),員工類(lèi)別)7)同一實(shí)體間的m:n聯(lián)系須單獨(dú)建立一個(gè)關(guān)系模式。屬性=兩關(guān)聯(lián)實(shí)體各自的主碼+[聯(lián)系本身的屬性]主碼=兩關(guān)聯(lián)實(shí)體主碼的組合。注:由于“聯(lián)系”僅涉及一個(gè)實(shí)體,加入的主碼要取不同的名字。第十四頁(yè),共六十七頁(yè)。實(shí)例:零件號(hào)零件組裝名稱型號(hào)數(shù)量?jī)r(jià)格nm∴關(guān)系模式為:零件(零件號(hào),名稱,型號(hào),價(jià)格)組裝(零件號(hào),組裝零件號(hào),數(shù)量)第十五頁(yè),共六十七頁(yè)。9)三個(gè)或三個(gè)以上實(shí)體間的m:n聯(lián)系須單獨(dú)建立一個(gè)關(guān)系模式。屬性=所聯(lián)系的各實(shí)體的主碼+[聯(lián)系本身的屬性]主碼=關(guān)聯(lián)實(shí)體主碼的組合。第十六頁(yè),共六十七頁(yè)。實(shí)例:零件號(hào)零件供應(yīng)名稱型號(hào)數(shù)量?jī)r(jià)格nm項(xiàng)目供應(yīng)商p項(xiàng)目號(hào)工期項(xiàng)目名稱地址供應(yīng)商名供應(yīng)商號(hào)第十七頁(yè),共六十七頁(yè)。該E-R模型轉(zhuǎn)換為關(guān)系模式為:零件(零件號(hào),名稱,型號(hào),價(jià)格)項(xiàng)目(項(xiàng)目號(hào),項(xiàng)目名稱,工期)供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址)供應(yīng)(零件號(hào),項(xiàng)目號(hào),供應(yīng)商號(hào),數(shù)量)第十八頁(yè),共六十七頁(yè)。綜合實(shí)例:

工廠產(chǎn)品零件倉(cāng)庫(kù)家屬工人車(chē)間從屬隸屬有有制造存放存放生產(chǎn)裝配1m1m1m1m1m1mmnnmm1E-R模型第十九頁(yè),共六十七頁(yè)。各實(shí)體的屬性為:車(chē)間:車(chē)間號(hào)、車(chē)間主任姓名、地址和電話;工人:職工號(hào)、姓名、年齡、性別、工種;工廠:工廠名、廠長(zhǎng)名;產(chǎn)品:產(chǎn)品號(hào)、產(chǎn)品名、型號(hào)、價(jià)格;零件:零件號(hào)、零件名稱、重量、價(jià)格;倉(cāng)庫(kù):倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)主任姓名、電話;家屬:家屬姓名、親屬關(guān)系。第二十頁(yè),共六十七頁(yè)?!鶎-R模型轉(zhuǎn)換為關(guān)系模式為:工廠(工廠名、廠長(zhǎng)名);車(chē)間(車(chē)間號(hào),車(chē)間主任姓名,地址,電話,工廠名);工人(職工號(hào),姓名,年齡,性別,工種,車(chē)間號(hào));倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)主任姓名,電話,工廠名)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,型號(hào),價(jià)格,車(chē)間號(hào),倉(cāng)庫(kù)號(hào));零件(零件號(hào),零件名稱,重量,價(jià)格,倉(cāng)庫(kù)號(hào));制造(車(chē)間號(hào),零件號(hào));裝配(零件號(hào),產(chǎn)品號(hào));親屬(職工號(hào),家屬姓名,親屬關(guān)系)第二十一頁(yè),共六十七頁(yè)。9.4.2向特定的RDBMS的模型轉(zhuǎn)換。(略)9.4.3關(guān)系數(shù)據(jù)模型的優(yōu)化根據(jù)應(yīng)用需要適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型結(jié)構(gòu)。1、應(yīng)用關(guān)系規(guī)范化理論對(duì)關(guān)系模式進(jìn)行優(yōu)化,具體步驟如下:(1)確定數(shù)據(jù)依賴:確定每個(gè)關(guān)系模式內(nèi)部各個(gè)屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴。(2)對(duì)各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。第二十二頁(yè),共六十七頁(yè)。(3)確定各關(guān)系模式為第幾范式。(4)按照需求分析階段的需求,確定要對(duì)哪些模式進(jìn)行合并或分解。采用技術(shù):反規(guī)范化(5)對(duì)關(guān)系模式進(jìn)行必要的分解,提高數(shù)據(jù)操作的效率和存儲(chǔ)空間利用率。兩種分解方法:水平分解垂直分解第二十三頁(yè),共六十七頁(yè)。2、反規(guī)范化(了解)一個(gè)完全規(guī)范化的設(shè)計(jì)并不總能生成最優(yōu)的性能,因此通常是先按照3NF設(shè)計(jì),如果有性能問(wèn)題,再通過(guò)反規(guī)范來(lái)解決。數(shù)據(jù)庫(kù)中的數(shù)據(jù)規(guī)范化的優(yōu)點(diǎn)是減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,相應(yīng)邏輯和物理的I/O次數(shù)減少,同時(shí)加快了增、刪、改的速度,但是對(duì)完全規(guī)范的數(shù)據(jù)庫(kù)查詢,通常需要更多的連接操作,從而影響查詢的速度。因此,有時(shí)為了提高某些查詢或應(yīng)用的性能而破壞規(guī)范規(guī)則,即反規(guī)范。第二十四頁(yè),共六十七頁(yè)。?是否規(guī)范化的程度越高越好?這要根據(jù)需要來(lái)決定,因?yàn)椤胺蛛x”越深,產(chǎn)生的關(guān)系越多,關(guān)系過(guò)多,連接操作越頻繁,而連接操作是最費(fèi)時(shí)間的,特別對(duì)以查詢?yōu)橹鞯臄?shù)據(jù)庫(kù)應(yīng)用來(lái)說(shuō),頻繁的連接會(huì)影響查詢速度。所以,關(guān)系有時(shí)故意保留成非規(guī)范化的,或者規(guī)范化以后又反規(guī)范了,這樣做通常是為了改進(jìn)性能。(了解)第二十五頁(yè),共六十七頁(yè)。例如,某校成績(jī)管理系統(tǒng),學(xué)生基本信息表student(sno,sname,sex,birth,zgrade),其中,總成績(jī)就違反規(guī)范,其中的值可以通過(guò)下面的查詢獲得:selectsno,sum(grade)fromscgroupbysno(了解)第二十六頁(yè),共六十七頁(yè)。如果student中沒(méi)有該列,若想獲得該生的姓名和總成績(jī),則需要做連接操作:selectsname,zgradefromstudent,(selectsno,sum(grade)asgradefromscgroupbysc.sno)swheres.sno=student.sno

如果經(jīng)常做這種查詢,則就有必要在student表中加入列zgrade,相應(yīng)的代價(jià)則是必須在表student上創(chuàng)建增、刪、改的觸發(fā)器來(lái)維護(hù)student表上zgrade列的值。類(lèi)似的情況在決策支持系統(tǒng)中經(jīng)常發(fā)生。

(了解)第二十七頁(yè),共六十七頁(yè)。?反規(guī)范的優(yōu)點(diǎn)是降低連接操作的需求、降低外碼和索引的數(shù)目,還可能減少表的數(shù)目;加快了查詢速度。缺點(diǎn):可能出現(xiàn)數(shù)據(jù)的完整性問(wèn)題;會(huì)降低修改速度。因此決定做反規(guī)范時(shí),一定要權(quán)衡利弊,仔細(xì)分析應(yīng)用的數(shù)據(jù)存取需求和實(shí)際的性能特點(diǎn),好的索引和其它方法經(jīng)常能夠解決性能問(wèn)題,而不必采用反規(guī)范這種方法。

第二十八頁(yè),共六十七頁(yè)。3、幾種常用的反規(guī)范化方法:在進(jìn)行反規(guī)范操作之前,要充分考慮數(shù)據(jù)的存取需求、常用表的大小、一些特殊的計(jì)算列(如合計(jì))、數(shù)據(jù)的物理存儲(chǔ)位置等。常用的反規(guī)范技術(shù)有增加冗余列、增加派生列、重新組表和分割表。(了解)第二十九頁(yè),共六十七頁(yè)。(1)增加冗余列增加冗余列是指在多個(gè)表中具有相同的列,它常用來(lái)在查詢時(shí)避免連接操作。例如,前面例子中,如果經(jīng)常檢索一門(mén)課的任課教師姓名,若課程表中僅有教師編號(hào)teacherno列,則需要做course和teacher表的連接查詢:selectcname,tnamefromcourse,teacherwherecourse.teacherno=teacher.teacherno

(了解)第三十頁(yè),共六十七頁(yè)。由于要頻繁的查詢每門(mén)課程任課老師的姓名,則就可以在course表中增加一列tname,就不需要做連接操作了。增加冗長(zhǎng)余列的優(yōu)點(diǎn):查詢時(shí)可避免連接操作。增加冗長(zhǎng)余列的缺點(diǎn):需要更多的磁盤(pán)空間,同時(shí)增加表維護(hù)的工作量。

第三十一頁(yè),共六十七頁(yè)。(2)增加派生列增加派生列指增加的列來(lái)自其它表中的數(shù)據(jù),由它們計(jì)算生成。優(yōu)點(diǎn):在查詢時(shí)減少連接操作,避免使用集函數(shù)。缺點(diǎn):具有與冗余列。例如,前例student表中的zgrade列就是派生列。(了解)第三十二頁(yè),共六十七頁(yè)。(3)重新組表

重新組表指如果許多用戶需要查看兩個(gè)表連接出來(lái)的結(jié)果數(shù)據(jù),則把這兩個(gè)表重新組成一個(gè)表來(lái)減少連接而提高性能。例如,用戶經(jīng)常需要同時(shí)查看課程號(hào),課程名稱,任課教師號(hào),任課教師姓名,則可把表course(cno,cname,tno)和表teacher(teacherno,tname)合并成一個(gè)表:course(cno,cname,teacherno,tname)。這樣可提高性能,但需要更多的磁盤(pán)空間,同時(shí)也損失了數(shù)據(jù)在概念上的獨(dú)立性。

(了解)第三十三頁(yè),共六十七頁(yè)。(4)分割表有時(shí)對(duì)表做分割可以提高性能。表分割有兩種方式:1)水平分解:把(基本表)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。水平分割通常在下面的情況下使用:A、表很大,分割后可以降低在查詢時(shí)需要讀的數(shù)據(jù)和索引的頁(yè)數(shù),同時(shí)也降低了索引的層數(shù),提高查詢速度。(了解)第三十四頁(yè),共六十七頁(yè)。B、表中的數(shù)據(jù)本來(lái)就有獨(dú)立性,例如表中分別記錄各個(gè)地區(qū)的數(shù)據(jù)或不同時(shí)期的數(shù)據(jù),特別是有些數(shù)據(jù)常用,而另外一些數(shù)據(jù)不常用。C、需要把數(shù)據(jù)存放到多個(gè)介質(zhì)上。分解原則:80/20原則。例如、法規(guī)表law就可以分成兩個(gè)表active_law和inactive_law。Activea_law表中的內(nèi)容是正生效的法規(guī),是經(jīng)常使用的;而inactive_law表則是已經(jīng)作廢的法規(guī),不常被查詢,但須保留的。(了解)第三十五頁(yè),共六十七頁(yè)。水平分割的缺點(diǎn):會(huì)給應(yīng)用增加復(fù)雜度,它通常在查詢時(shí)需要多個(gè)表名,查詢所有數(shù)據(jù)需要union操作。在許多數(shù)據(jù)庫(kù)應(yīng)用中,這種復(fù)雜性會(huì)超過(guò)它帶來(lái)的優(yōu)點(diǎn),因?yàn)橹灰饕P(guān)鍵字不大,則在索引用于查詢時(shí),表中增加兩到三倍數(shù)據(jù)量,查詢時(shí)也就增加讀一個(gè)索引層的磁盤(pán)次數(shù)。(了解)第三十六頁(yè),共六十七頁(yè)。2)垂直分割:把主碼和一些列放到一個(gè)表,然后把主碼和另外的列放到另一個(gè)表中。(即把關(guān)系模式R的屬性分解為若干子集合。)如果一個(gè)表中某些列常用,而另外一些列不常用,則可以采用垂直分割,另外垂直分割可以使得數(shù)據(jù)行變小,一個(gè)數(shù)據(jù)頁(yè)就能存放更多的數(shù)據(jù),在查詢時(shí)就會(huì)減少I(mǎi)/O次數(shù)。其缺點(diǎn)是需要管理冗余列,查詢所有數(shù)據(jù)需要join操作。注:要確保無(wú)損連接性和保持函數(shù)依賴。(了解)第三十七頁(yè),共六十七頁(yè)。4、反規(guī)范技術(shù)需要維護(hù)數(shù)據(jù)的完整性

無(wú)論使用何種反規(guī)范技術(shù),都需要一定的管理來(lái)維護(hù)數(shù)據(jù)的完整性。常用的方法:批處理維護(hù)應(yīng)用邏輯觸發(fā)器1)批處理維護(hù)是指對(duì)復(fù)制列或派生列的修改積累一定的時(shí)間后,運(yùn)行一批處理作業(yè)或存儲(chǔ)過(guò)程對(duì)復(fù)制或派生列進(jìn)行修改,這只能在對(duì)實(shí)時(shí)性要求不高的情況下使用。(了解)第三十八頁(yè),共六十七頁(yè)。2)用應(yīng)用邏輯:數(shù)據(jù)的完整性也可由應(yīng)用邏輯來(lái)實(shí)現(xiàn),這就要求必須在同一事務(wù)中對(duì)所有涉及的表進(jìn)行增、刪、改操作。

該方法實(shí)現(xiàn)數(shù)據(jù)的完整性風(fēng)險(xiǎn)較大,因?yàn)橥贿壿嫳仨氃谒械膽?yīng)用中使用和維護(hù),容易遺漏,特別是在需求變化時(shí),不易于維護(hù)。3)使用觸發(fā)器,對(duì)數(shù)據(jù)的任何修改立即觸發(fā)對(duì)復(fù)制列或派生列的相應(yīng)修改。觸發(fā)器是實(shí)時(shí)的,而且相應(yīng)的處理邏輯只在一個(gè)地方出現(xiàn),易于維護(hù)。一般來(lái)說(shuō),是解決這類(lèi)問(wèn)題的最好的辦法。

(了解)第三十九頁(yè),共六十七頁(yè)。9.4.4設(shè)計(jì)用戶子模式(創(chuàng)建視圖)全局關(guān)系模型設(shè)計(jì)完成后,還應(yīng)根據(jù)局部應(yīng)用的需求,結(jié)合具體DBMS的特點(diǎn),設(shè)計(jì)用戶的子模式。設(shè)計(jì)子模式時(shí)應(yīng)注意考慮用戶的習(xí)慣和方便性,主要包括:(1)使用更符合用戶慣的別名如按不同部門(mén)的習(xí)慣給視圖中的列取名。(2)以不同級(jí)別的用戶定義不同的視圖,以保證系統(tǒng)的安全性。第四十頁(yè),共六十七頁(yè)。例如、設(shè)有一關(guān)系模式:產(chǎn)品(產(chǎn)品編號(hào),產(chǎn)品名稱,型號(hào),價(jià)格,生產(chǎn)車(chē)間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級(jí))面向一般顧客的視圖:產(chǎn)品1(產(chǎn)品編號(hào),產(chǎn)品名稱,型號(hào),價(jià)格,質(zhì)量等級(jí))面向質(zhì)量監(jiān)督部門(mén)的視圖:產(chǎn)品格(產(chǎn)品編號(hào),產(chǎn)品名稱,型號(hào),生產(chǎn)車(chē)間,產(chǎn)品合格率,質(zhì)量等級(jí))第四十一頁(yè),共六十七頁(yè)。(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用針對(duì)某些局部應(yīng)用中經(jīng)常使用某些十分復(fù)雜的查詢情況,為方便用戶,可先將這些復(fù)雜查詢定義為視圖,用戶每次只需對(duì)定義好的視圖進(jìn)行查詢,大大簡(jiǎn)化了復(fù)雜度。第四十二頁(yè),共六十七頁(yè)。9.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(主考慮是否建立相關(guān)索引)什么是數(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ì)。第四十三頁(yè),共六十七頁(yè)。數(shù)據(jù)庫(kù)物理設(shè)計(jì)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施物理模型邏輯模型◆數(shù)據(jù)庫(kù)物理設(shè)計(jì)的步驟:第四十四頁(yè),共六十七頁(yè)。9.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)。第四十五頁(yè),共六十七頁(yè)。*選擇物理數(shù)據(jù)庫(kù)設(shè)計(jì)所需參數(shù)※數(shù)據(jù)庫(kù)查詢事務(wù)(1)查詢的關(guān)系(2)查詢條件所涉及的屬性(3)連接條件所涉及的屬性(4)查詢的投影屬性※數(shù)據(jù)更新事務(wù)(1)被更新的關(guān)系。(2)每個(gè)關(guān)系上的更新操作條件所涉及的屬性。(3)修改操作要改變的屬性值。(4)每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求。第四十六頁(yè),共六十七頁(yè)。*關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的主要內(nèi)容1、為關(guān)系模式選擇存取方法(建立存取路徑)。2、設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu)。9.5.2關(guān)系模式存取方法選擇*DBMS常用存取方法1、索引方法,目前主要是B+樹(shù)索引方法2、聚簇(Cluster)方法3、HASH方法第四十七頁(yè),共六十七頁(yè)。9.5.2.1索引方法

﹡選擇索引存取方法的主要內(nèi)容:根據(jù)應(yīng)用要求確定對(duì)哪些屬性列建立索引對(duì)哪些屬性列建立組合索引對(duì)哪些索引要設(shè)計(jì)為唯一索引第四十八頁(yè),共六十七頁(yè)。9.5.2.2聚簇存取方法◆什么是聚簇為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼/聚集鍵)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇/聚集?!粼S多關(guān)系型DBMS都提供了聚簇功能?!艟鄞卮嫒〉膬?yōu)點(diǎn)1、大大提高按聚簇屬性進(jìn)行查詢的效率2、節(jié)省存儲(chǔ)空間第四十九頁(yè),共六十七頁(yè)。聚簇的局限性(了解)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)。第五十頁(yè),共六十七頁(yè)。9.5.2.3HASH存取方法★當(dāng)一個(gè)關(guān)系滿足下列兩個(gè)條件時(shí),可以選擇HASH存取方法:1、該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中。2、該關(guān)系的大小可預(yù)知,而且不變;3、該關(guān)系的大小動(dòng)態(tài)改變,但所選用的DBMS提供了動(dòng)態(tài)HASH存取方法。第五十一頁(yè),共六十七頁(yè)。9.5.3確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)(了解)※確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容:1、確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu):關(guān)系、索引、聚簇、日志、備份。2、確定系統(tǒng)配置?!绊憯?shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素:(1)硬件環(huán)境(2)應(yīng)用需求:存取時(shí)間、存儲(chǔ)空間利用率、維護(hù)代價(jià)。這三個(gè)方面常常是相互矛盾的。例如:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲(chǔ)空間和減少維護(hù)代價(jià),但往往會(huì)導(dǎo)致檢索代價(jià)的增加。必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。第五十二頁(yè),共六十七頁(yè)。1、確定數(shù)據(jù)的存放位置:(了解)基本原則根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分;存取頻率較高部分與存取頻率較低部分

分開(kāi)存放,以提高系統(tǒng)性能。實(shí)例1:數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時(shí)才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上。第五十三頁(yè),共六十七頁(yè)。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ù)目等等第五十四頁(yè),共六十七頁(yè)。9.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)。第五十五頁(yè),共六十七頁(yè)。評(píng)價(jià)方法定量估算各種方案存儲(chǔ)空間存取時(shí)間維護(hù)代價(jià)對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)。第五十六頁(yè),共六十七頁(yè)。9.6數(shù)據(jù)庫(kù)的實(shí)施數(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)行第五十七頁(yè),共六十七頁(yè)。數(shù)據(jù)庫(kù)實(shí)施定義數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)裝載

數(shù)據(jù)庫(kù)試運(yùn)行數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)物理模型編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)系統(tǒng)第五十八頁(yè),共六十七頁(yè)。在數(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)。9.7數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)第五十九頁(yè),共六十七頁(yè)。⒉數(shù)據(jù)庫(kù)的安全性、完整性控制DBA必須根據(jù)用戶的實(shí)際需要授予不同的操作權(quán)限。

溫馨提示

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