「軟考高級系統架構師」資料庫設計的4個階段詳解

上一篇文章 已經介紹了數據庫設計的相關方法,此篇文章將詳細介紹需求分析、概念結構設計、邏輯結構設計、物理結構設計。

需求分析

1.確認需求、確定設計目標

數據庫設計的第一項工作就是對系統的整個應用情況進行全面的、詳細的實地調查,弄清現行系統的組織架構、功能劃分、總體工作流程,收集總的支持系統設計目標的基礎數據和對這些數據的處理要求,明確用戶總的需求目標;即確定數據庫應該支持的應用功能和應用範圍,明確哪些功能由計算機完成或準備在計算機上完成,哪些環節需要人工完成,以確定應用系統實現的功能。這一階段收集到的基礎數據和一組數據流程圖是下一步進行概念設計的基礎。

2.分析和收集數據

這是整個需求分析的核心人物。它包括分析和收集用戶的信息需求、處理需求、完整性需求、安全性需求,以及對數據庫設計過程有用的其他信息。信息需求是指在設計目標範圍內涉及的所有實體、實體屬性和實體間的聯繫等數據對象,包括用戶在數據處理中的輸入/輸出數據及這些數據之間的聯繫。在收集過程中,要收集數據的名稱、類型、長度、數據量、對數據的約束及數據間聯繫的類型等信息。處理需求是指為了獲取所需的數據信息而對數據進行加工處理的要求。它主要包括,處理方式是實時還是批處理,各種處理發生的頻度、響應時間、優先級別及安全保密要求等。分析和收集數據的過程是數據庫設計者對對各類管理活動進行深入調查研究的過程,調查的對象包括數據管理部門的負責人、各使用部門的負責人及操作員等各類管理人員,通過與各類管理人員的交流,逐步取得需求的一致認識。

3.整理文檔

分析和收集得到的數據必須經過篩選整理,並按照一定的格式和順序記載保存,經過審核成為正式的需求說明文檔,即需求說明書。實際上,需求說明書是在需求分析的過程中逐漸整理形成的,是隨著這一過程的不斷深入而反覆修改與完善的對系統需求的全面描述。由用戶、領導和專家共同評審,是以後設計各個階段的主要依據。這一步的工作是進行全面彙總和整理,使之系統化,以形成標準化的同一形式。

概念結構設計

概念結構設計的目標是產生一個用戶易於理解的,反映系統信息需求的整體數據庫概念結構。

在實體分析法中,局部視圖設計的第一步是確定其所屬的範圍,即它所對應的用戶組,然後對每個用戶組建立一個僅由實體、聯繫及它們的標識碼組成的局部信息結構(局部數據模式)框架,最後再加入相關的描述信息,形成完整的局部視圖(局部數據模式)。確定實體間的聯繫,二元聯繫的關係圖如下:

「軟考高級系統架構師」數據庫設計的4個階段詳解

實體間的二元聯繫

邏輯結構設計

數據庫的邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為具體機器上的DBMS產品所支持的數據模型相符合的邏輯結構。其成果包括某DBMS 所支持的外模式、概念模式及其說明及建立外模式和概念模式的DDL程序。因此,在邏輯結構設計之前,必須瞭解數據庫設計的需求說明和概念設計成果(包括E-R圖和其他文檔),並仔細閱讀有關的DBMS的文件。數據庫的外模式和概念模式是用戶可以看到的數據庫,是應用程序訪問數據庫的接口,因此,在數據庫邏輯結構設計階段,還必須提供應用程序編制的有關說明,最好是編一些典型的訪問數據庫的應用程序,以檢查所設計的概念模型是否滿足應用需求。邏輯結構設計一般分為以下幾個步驟:

  1. 將概念結構向一般關係模型轉換;
  2. 將第一步得到的結構向特定的DBMS支持下的數據模型轉換;
  3. 依據應用的需求和具體的DBMS的特徵進行調整和完善。

物理結構設計

數據庫在實際的物理設備上的存儲結構和存取方法稱為數據庫的物理結構。數據庫物理設計是利用已確定的邏輯結構及DBMS提供的方法、技術,以較優的存儲結構、數據存取路徑、合理的數據存儲位置及存儲分配,設計出一個高效的、可實現的物理存儲結構。物理結構設計過程如下圖:

「軟考高級系統架構師」數據庫設計的4個階段詳解

數據庫物理設計過程

由於不同的DBMS提供的硬件環境和存儲結構、存取方法,以及提供給數據庫設計者的系統參數、變化範圍有所不同,因此,為了設計出一個較好的存儲模式,設計者必須瞭解以下幾個方面的問題,做到心中有數。

  1. 瞭解並熟悉應用要求。包括各個用戶對應的數據庫視圖,即數據庫的外模式(子模式),分清哪些是主要的應用,瞭解各個應用的使用方法、數據量和處理頻率等,以便對時間和空間進行衡量,並優先保證先滿足應用的時間要求。
  2. 熟悉使用的DBMS的性能,包括DBMS的功能,提供的物理環境、存儲結構、存取方法和可利用的工具。
  3. 瞭解存儲數據的外存設備的特性,如物理存儲區的劃分規則,物理塊的大小等有關規定和I/O特性等。

存儲模式和概念模式不一樣,它不是面向 用戶的,一般的用戶不一定也不需要了解數據庫存儲模式的細節。所以數據庫存儲模式的設計者不必考慮用戶理解的方便,其設計目標主要是提高數據庫的性能,其次就是節約空間。

這裡也只給出一般的數據庫設計原則和內容,具體的數據庫設計要根據數據產品所提供的物理環境、存儲結構和存取方法等各個因素來綜合決定。

「軟考高級系統架構師」數據庫設計的4個階段詳解


分享到:


相關文章: