資料庫的物理設計

2021-04-20 14:27:28 字數 2047 閱讀 3909

資料庫最終是要儲存在物理裝置上的。為乙個給定的邏輯資料模型選取乙個最適合應用環境的物理結構(儲存結構與訪問方法)的過程,就是資料庫的物理設計。物理結構依賴於給定的dbms和和硬體系統,因此設計人員必須充分了解所用dbms的內部特徵,特別是儲存結構和訪問方法;充分了解應用環境,特別是應用的處理頻率和響應時間要求;以及充分了解外存裝置的特性。   資料庫的物理設計通常分為兩步:

一、確定資料庫的物理結構

⒈確定資料的儲存結構

確定資料庫儲存結構時要綜合考慮訪問時間、儲存空間利用率和維護代價三方面的因素。這三個方面常常是相互矛盾的,例如消除一切冗餘資料雖然能夠節約儲存空間,但往往會導致檢索代價的增加,因此必須進行權衡,選擇乙個折中方案。

詳細資訊...

許多關係型dbms都提供了聚簇功能,即為了提高某個屬性(或屬性組)的查詢速度,把在這個或這些屬性上有相同值的元組集中存放在乙個物理塊中,如果存放不下,可以存放到預留的空白區或鏈結多個物理塊。  

聚簇功能可以大大提高按聚簇碼進行查詢的效率。例如假設學生關係按所在系建有索引,現在要查詢資訊系的所有學生名單,設資訊系有120名學生,在極端情況下,這120名學生所對應的元組分布在120個不同的物理塊上,由於每訪問乙個物理塊需要執行一次i/o操作,因此該查詢即使不考慮訪問索引的i/o次數,也要執行120次i/o操作。如果將同一系的學生元組集中存放,則每讀乙個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁碟的次數。

聚簇以後,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個元組中重複儲存,只要在一組中存一次就行了,因此可以節省一些儲存空間。

聚簇功能不但適用於單個關係,也適用於多個關係。假設使用者經常要按系別查詢學生成績單,這一查詢涉及學生關係和課程關係的連線操作,即需要按學號連線這兩個關係,為提高連線操作的效率,可以把具有相同學號值的學生元組和課程元組在物理上聚簇在一起。

但必須注意的是,聚簇只能提高某些特定應用的效能,而且建立與維護聚簇的開銷是相當大的。對已有關係建立聚簇,將導致關係中元組移動其物理儲存位置,並使此關係上原有的索引無效,必須重建。當乙個元組的聚簇碼改變時,該元組的儲存位置也要做相應移動。因此只有在使用者應用滿足下列條件時才考慮建立聚簇,否則很可能會事得其反。

⒉設計資料的訪問路徑

在關聯式資料庫中,選擇訪問路徑主要是指確定如何建立索引。例如,應把哪些域作為次碼建立次索引,建立單碼索引還是組合索引,建立多少個為合適,是否建立聚集索引等。

⒊確定資料的存放位置

為了提高系統效能,資料應該根據應用情況將易變部分與穩定部分、經常訪問部分和訪問頻率較低部分分開存放。

詳細資訊...

例如,資料庫資料備份、日誌檔案備份等由於只在故障恢復時才使用,而且資料量很大,可以考慮存放在磁帶上。目前許多計算機都有多個磁碟,因此進行物理設計時可以考慮將表和索引分別放在不同的磁碟上,在查詢時,由於兩個磁碟驅動器分別在工作,因而可以保證物理讀寫速度比較快。也可以將比較大的表分別放在兩個磁碟上,以加快訪問速度,這在多使用者環境下特別有效。此外還可以將日誌檔案與資料庫物件(表、索引等)放在不同的磁碟以改進系統的效能。

⒋確定系統配置

dbms產品一般都提供了一些儲存分配引數,供設計人員和dba對資料庫進行物理優化。初始情況下,系統都為這些變數賦予了合理的預設值。但是這些值不一定適合每一種應用環境,在進行物理設計時,需要重新對這些變數賦值以改善系統的效能。

詳細資訊...

通常情況下,這些配置變數包括:同時使用資料庫的使用者數,同時開啟的資料庫物件數,使用的緩衝區長度、個數,時間片大小、資料庫的大小,裝填因子,鎖的數目等等,這些引數值影響訪問時間和儲存空間的分配,在物理設計時就要根據應用環境確定這些引數值,以使系統效能最優。

在物理設計時對系統配置變數的調整只是初步的,在系統執行時還要根據系統實際運**況做進一步的調整,以期切實改進系統效能。

二、評價物理結構

資料庫物理設計過程中需要對時間效率、空間效率、維護代價和各種使用者要求進行權衡,其結果可以產生多種方案,資料庫設計人員必須對這些方案進行細緻的評價,從中選擇乙個較優的方案作為資料庫的物理結構。

評價物理資料庫的方法完全依賴於所選用的dbms,主要是從定量估算各種方案的儲存空間、訪問時間和維護代價入手,對估算結果進行權衡、比較,選擇出乙個較優的合理的物理結構。如果該結構不符合使用者需求,則需要修改設計。

資料庫 資料庫的物理設計

資料庫在物理裝置上的儲存結構與訪問方法稱為資料庫的物理結構,它依賴於給定的計算機系統。為乙個給定的邏輯資料模型選取乙個最合適應用要求的物理結構的過程,稱為資料庫的物理設計。物理設計的目的是有效地實現邏輯模式,確定所採取的儲存策略。此階段是以邏輯設計的結構作為輸入,並結合具體dbms的特點與儲存裝置特...

MySQL之資料庫物理設計

型別 儲存空間 tinyint 1位元組smallint 2位元組mediumint 3位元組int 4位元組bigint 8位元組 型別儲存空間 float 4位元組double 8位元組decimal 每4位元組存9個數字,小數點佔乙個位元組 型別 格式date yyyy mm dd time ...

資料庫物理模型設計的其他模式

之7 資料庫物理模型設計的其他模式 除了上面提到的四種主要設計模式,還有一些其他模式,在某些專案中可能會用到,在這裡先簡單做個說明,暫不做深入討論,等到以後的專案用到這些模式的時候,再結合實際需求詳細解說。一 繼承模式 繼承模式,可以看作是 主從模式 的一種特殊情況 或者說是 變形 它所代表的兩個物...