數據庫系統原理 第七章 數據庫設計3_第1頁
數據庫系統原理 第七章 數據庫設計3_第2頁
數據庫系統原理 第七章 數據庫設計3_第3頁
數據庫系統原理 第七章 數據庫設計3_第4頁
數據庫系統原理 第七章 數據庫設計3_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章數據庫設計之三AnIntroductiontoDatabaseSystem數據庫的物理設計什么是數據庫的物理設計數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于給定的計算機系統。為一個給定的邏輯數據模型選取一個最適合應用環境的物理結構的過程,就是數據庫的物理設計。AnIntroductiontoDatabaseSystem數據庫的物理設計數據庫物理設計的步驟確定數據庫的物理結構對物理結構進行評價,評價的重點是時間和空間效率目標:提高速度、節約空間。AnIntroductiontoDatabaseSystem

數據庫物理設計確定數據庫的物理結構評價數據庫的物理結構邏輯結構設計數據庫實施物理模型邏輯模型AnIntroductiontoDatabaseSystem存儲記錄結構的設計訪問方法的設計數據存儲位置設計系統配置設計確定物理結構AnIntroductiontoDatabaseSystem存儲記錄結構的設計存儲記錄結構的設計包括記錄的組成、數據項的類型和長度,以及邏輯記錄到存儲記錄的映射靈活的存儲結構:聚簇和索引聚簇:把屬性上具有相同值的元組集中存放在一個物理塊中。如果存放不下,可以存放在相鄰的物理塊中,該組屬性稱為聚簇碼索引文件對存儲記錄重新進行內部連接,邏輯上改變了記錄的存儲位置,從而改變了訪問數據的入口點AnIntroductiontoDatabaseSystem關系模式存取方法選擇DBMS常用存取方法索引方法,目前主要是B+樹索引方法聚簇(Cluster)方法HASH方法(*)AnIntroductiontoDatabaseSystem索引存取方法的選擇選擇索引存取方法的主要內容

根據應用要求確定對哪些屬性列建立索引對哪些屬性列建立組合索引對哪些索引要設計為唯一索引AnIntroductiontoDatabaseSystem索引存取方法的選擇(續)選擇索引存取方法的一般規則如果一個(或一組)屬性經常在查詢條件中出現,則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經常作為最大值和最小值等聚集函數的參數,則考慮在這個屬性上建立索引如果一個(或一組)屬性經常在連接操作的連接條件中出現,則考慮在這個(或這組)屬性上建立索引AnIntroductiontoDatabaseSystem索引存取方法的選擇(續)關系上定義的索引數過多會帶來較多的額外開銷維護索引的開銷查找索引的開銷AnIntroductiontoDatabaseSystem聚簇存取方法的選擇什么是聚簇為了提高某個屬性(或屬性組)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續的物理塊稱為聚簇.許多關系型DBMS都提供了聚簇功能.AnIntroductiontoDatabaseSystem建立聚簇索引(復習)聚簇索引建立聚簇索引后,基表中數據也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項順序與表中元組的物理順序一致。例:

CREATECLUSTERINDEXStusnameONStudent(Sname);

在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放.AnIntroductiontoDatabaseSystem建立聚簇索引(復習)在一個基本表上最多只能建立一個聚簇索引聚簇索引的用途:對于某些類型的查詢,可以提高查詢效率聚簇索引的適用范圍很少對基表進行增刪操作很少對其中的建立了聚簇索引的列進行修改操作AnIntroductiontoDatabaseSystem聚簇存取方法的選擇(續)聚簇的用途大大提高按聚簇屬性進行查詢的效率例:假設學生關系按所在系建有索引,現在要查 詢信息系的所有學生名單。信息系的500名學生分布在500個不同的物理塊上時,至少要執行500次I/O操作。如果將同一系的學生元組集中存放,則每讀一個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數。AnIntroductiontoDatabaseSystem聚簇存取方法的選擇(續)節省存儲空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個元組中重復存儲,只要在一組中存一次就行了.AnIntroductiontoDatabaseSystem聚簇存取方法的選擇(續)聚簇的局限性聚簇只能提高某些特定應用的性能建立與維護聚簇的開銷相當大對已有關系建立聚簇,將導致關系中元組移動其物理存儲位置,并使此關系上原有的索引無效,必須重建。當一個元組的聚簇碼改變時,該元組的存儲位置也要做相應移動。AnIntroductiontoDatabaseSystem聚簇存取方法的選擇(續)聚簇的適用范圍既適用于單個關系獨立聚簇,也適用于多個關系組合聚簇.

例:假設用戶經常要按系別查詢學生成績單,這一查詢涉及學生關系和選修關系的連接操作,即需要按學號連接這兩個關系,為提高連接操作的效率,可以把具有相同學號值的學生元組和選修元組在物理上聚簇在一起。這就相當于把多個關系按“預連接”的形式存放,從而大大提高連接操作的效率。AnIntroductiontoDatabaseSystem聚簇存取方法的選擇(續)當通過聚簇碼進行訪問或連接是該關系的主要應用,與聚簇碼無關的其他訪問很少或者是次要的時候,可以使用聚簇。尤其當SQL語句中包含有與聚簇碼有關的ORDERBY,GROUPBY,UNION,DISTINCT等子句或短語時,使用聚簇特別有利,可以省去對結果集的排序操作AnIntroductiontoDatabaseSystemHASH存取方法的選擇*選擇HASH存取方法的規則當一個關系滿足下列兩個條件時,可以選擇HASH存取方法該關系的屬性主要出現在等值連接條件中或主要出現在相等比較選擇條件中該關系的大小可預知,而且不變;或該關系的大小動態改變,但所選用的DBMS提供了動態HASH存取方法。AnIntroductiontoDatabaseSystem數據存儲位置設計表和索引分別存放在不同的磁盤上數據庫的備份、日志文件備份可以存放在磁帶上AnIntroductiontoDatabaseSystem系統配置設計考慮以下因素:同時使用數據庫的用戶數同時打開的數據庫對象數內存分配參數緩沖區分配參數、存儲分配參數、時間片大小等AnIntroductiontoDatabaseSystem評價物理結構評價內容對數據庫物理設計過程中產生的多種方案進行細致的評價,從中選擇一個較優的方案作為數據庫的物理結構AnIntroductiontoDatabaseSystem評價物理結構評價方法定量估算各種方案

存儲空間存取時間維護代價對估算結果進行權衡、比較,選擇出一個較優的合理的物理結構如果該結構不符合用戶需求,則需要修改設計AnIntroductiontoDatabaseSystem數據庫的實施數據庫實施的工作內容用DDL定義數據庫結構組織數據入庫編制與調試應用程序數據庫試運行AnIntroductiontoDatabaseSystem一、定義數據庫結構確定了數據庫的邏輯結構與物理結構后,就可以用所選用的DBMS提供的數據定義語言(DDL)來嚴格描述數據庫結構。

AnIntroductiontoDatabaseSystem二、數據裝載數據庫結構建立好后,就可以向數據庫中裝載數據了。組織數據入庫是數據庫實施階段最主要的工作。數據裝載方法人工方法計算機輔助數據入庫AnIntroductiontoDatabaseSystem三、編制與調試應用程序數據庫應用程序的設計應該與數據設計并行進行。在數據庫實施階段,當數據庫結構建立好后,就可以開始編制與調試數據庫的應用程序。調試應用程序時由于數據入庫尚未完成,可先使用模擬數據。AnIntroductiontoDatabaseSystem四、數據庫試運行應用程序調試完成,并且已有一小部分數據入庫后,就可以開始數據庫的試運行。數據庫試運行也稱為聯合調試,其主要工作包括:功能測試:實際運行應用程序,執行對數據庫的各種操作,測試應用程序的各種功能。性能測試:測量系統的性能指標,分析是否符合設計目標。AnIntroductiontoDatabaseSystem數據庫運行與維護數據庫試運行結果符合設計目標后,數據庫就可以真正投入運行了。數據庫投入運行標著開發任務的基本完成和維護工作的開始。對數據庫設計進行評價、調整、修改等維護工作是一個長期的任務,也是設計工作的繼續和提高。應用環境在不斷變化數據庫運行過程中物理存儲會不斷變化AnIntroductiontoDatabaseSystem數據庫運行與維護(續)在數據庫運行階段,對數據庫經常性的維護工作主要是由DBA完成的,包括:

⒈數據庫的轉儲和恢復轉儲和恢復是系統正式運行后最重要的維護工作之一。DBA要針對不同的應用要求制定不同的轉儲計劃,定期對數據庫和日志文件進行備份。一旦發生介質故障,即利用數據庫備份及日志文件備份,盡快將數據庫恢復到某種一致性狀態。AnIntroductiontoDatabaseSystem數據庫運行與維護(續)2.數據庫的安全性、完整性控制DBA必須根據用戶的實際需要授予不同的操作權限。在數據庫運行過程中,由于應用環境的變化,對安全性的要求也會發生變化,DBA需要根據實際情況修改原有的安全性控制。由于應用環境的變化,數據庫的完整性約束條件也會變化,也需要DBA不斷修正,以滿足用戶要求。AnIntroductiontoDatabaseSystem數據庫運行與維護(續)⒊數據庫性能的監督、分析和改進在數據庫運行過程中,DBA必須監督系統運行,對監測數據進行分析,找出改進系統性能的方法。利用監測工具獲取系統運行過程中一系列性能參數的值。通過仔細分析這些數據,判斷當前系統是否處于最佳運行狀態。如果不是,則需要通過調整某些參數來進一步改進數據庫性能。AnIntroductiontoDatabaseSystem數據庫運行與維護(續)⒋數據庫的重組織和重構造重組織數據庫適當重構造數據庫AnIntroductiontoDatabaseSystem小結數據庫的設計過程需求分析概念結構設計邏輯結構設計物理設計實施運行維護設計過程中往往還會有許多反復。AnIntroductiontoDatabaseSystem小結(續)數據庫各級模式的形成數據庫的各級模式是在設計過程中逐步形成的需求分析階段綜合各個用戶的應用需求(現實世界的需求)。概念設計階段形成獨立于機器特點、獨立于各個DBMS產品的概念模式(信息世界模型),用E-R圖來描述。AnIntroductiontoDatabaseSystem小結(續)在邏輯設計階段將E-R圖轉換成具體的數據庫產品支持的數據模型如關系模型,形成數據庫邏輯模式。然后根據用戶處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(VIEW)形成數據的外模式。在物理設計階段根據DBMS特點和處理的需要,進行物理存儲安排,設計索引,形成數據庫內模式。AnIntroductiontoDatabaseSystem小結(續)目前很多DBMS都提供了一些輔助工具(CASE工具),為加快數據庫設計速度,設計人員可根據需要選用。例如需求分析完成之后,設計人員可以使用ORACLEDESIGNER2000畫E-R圖,將E-R圖轉換為關系數據模型,生成數據庫結構;AnIntroductiontoDatabaseSystem小結(續)利用CASE工具生成的僅僅是數據庫應用系統的一個雛形,比較粗糙,數據庫設計人員需要根據用戶的應用需求進一步修改該雛形,使之成為一個完善的系統。早期就選擇某種CASE工具固然能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論