熱線電話:13121318867

登錄
首頁精彩閱讀數據庫設計的六階段:數據庫的設計過程
數據庫設計的六階段:數據庫的設計過程
2018-03-05
收藏

數據庫設計的六階段:數據庫的設計過程


6.1 數據庫設計的六階段

數據庫設計是建立數據庫及其應用系統的技術,是信息系統開發和建設中的核心技術。具體說,數據庫設計是指對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。這個問題是數據庫在應用領域的主要研究課題。數據庫設計既是一項涉及多學科的綜合性技術,又是一項龐大的工程項目。有人講"三分技術,七分管理,十二分基礎數據"是數據庫建設的基本規律,這是有一定道理的。技術與管理的界面(稱之為"干件")十分重要。數據庫建設是硬件、軟件和干件的結合。這是數據庫設計的特點之一。數據庫的設計應該和應用系統設計相結合,也就是說,整個設計過程中要把結構(數據)設計和行為(處理)設計緊密結合起來。這是數據庫設計的特點之二。



6.1.1 數據庫的設計過程

按照規范的設計方法,一個完整的數據庫設計一般分為以下六個階段:

⑴ 需求分析:分析用戶的需求,包括數據、功能和性能需求;

⑵ 概念結構設計:主要采用E-R模型進行設計,包括畫E-R圖;

⑶ 邏輯結構設計:通過將E-R圖轉換成表,實現從E-R模型到關系模型的轉換;

⑷ 數據庫物理設計:主要是為所設計的數據庫選擇合適的存儲結構和存取路徑;

⑸ 數據庫的實施:包括編程、測試和試運行;

⑹ 數據庫運行與維護:系統的運行與數據庫的日常維護。

數據庫設計的這六個階段,用圖6-1-1表示如下:

圖6-1-1:數據庫的設計過程

對于圖6-1-1,需要說明的是:

⑴ 概念結構是獨立于任何一種數據模型的信息結構。邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用的DBMS產品所支持的數據模型相符合的邏輯結構。從理論上講,設計邏輯結構應該選擇最適宜于相應概念結構的數據模型,然后對支持這種數據模型的各種DBMS進行比較,從中選出最合適的DBMS。但實際情況往往是已經給定了某種DBMS,設計人員沒有其他的選擇余地。目前DBMS產品一般支持關系、網狀、層次三種模型中的一種,對某一種數據模型,各個機器系統又有許多不同的限制,提供不同的環境與工具。所以設計邏輯結構時一般要分三步進行:

① 將概念結構轉換為一般的關系、網狀、層次模型;

② 將轉換的關系、網狀、層次模型向特定的DBMS支持下的數據模型轉換;

③ 對數據模型進行優化;

⑵ 在數據庫的邏輯結構設計完成之后,要對數據模型進行優化。因為數據庫邏輯設計的結果不是唯一的。為了進一步提高數據庫應用系統的性能,還應該根據應用需要適當地修改、調整數據模型的結構,這就是數據模型的優化。關系數據模型的優化通常以規范化理論為指導,優化時可采用在第五章"完整性約束與模式分解"的5.8.3小節中介紹的模式分解方法對關系模式進行規范化。如果在優化過程中發現數據庫的邏輯結構有諸多問題,則需要返回到上一層修改或重新進行數據庫的邏輯結構設計;

⑶ 其實將概念模型轉換為全局邏輯模型之后,還應該根據局部應用的需求,結合具體DBMS的特點,設計用戶的外模式,這一點在圖6-1-1中沒有體現。目前關系數據庫管理系統一般都提供了視圖的概念,可以利用視圖來設計更符合局部用戶需要的用戶外模式。定義數據庫全局模式主要是從系統的時間效率、空間效率、易維護等角度出發。由于用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以注重考慮用戶的習慣與方便,包括:

① 使用更符合用戶習慣的別名;

② 可以對不同級別的用戶定義不同的VIEW,以保證系統的安全性;

③ 簡化用戶對系統的使用;

⑷ 在數據庫的物理結構設計完成之后,就可以針對系統常用的操作進行性能預測,評價所做的設計。如果發現目前的設計不能保證系統常用操作的性能要求的話,就需要返回到上兩層重新調整數據庫的邏輯結構設計;

當評價一個DBMS產品時,性能指標是一個主要的因素。一個DBMS是一個復雜的軟件,而且不同的廠商可能將它們的系統定位于不同的市場。為此,他們對系統的某些特定部分進行更多的優化,或者選擇不同的設計。例如,一些系統要求有效地運行復雜查詢,而另一些系統用來在一秒中內運行很多簡單事務。在每一類系統中,都有很多競爭產品。為了幫助用戶在選擇DBMS的過程中找到適合自身的系統,人們提出了幾個性能基準測試。它們之中包括度量特定一類應用性能的基準測試和度量一個DBMS完成各種操作的好壞的基準測試(如,Wisconsin Benchmark)。

基準測試應該是可移植的、易于理解的,并且可以很自然地就擴展到大的問題實例上。它們應該能夠度量峰值性能(如,每秒中處理事務的個數,即tps),同時也能度量在給定應用域內工作負載的性能價格比(如,$/tps)?,F在已經建立了事務處理委員會(簡稱TPC)來定義事務處理和數據庫系統的基準測試。其他著名的基準測試已經被學術研究者和工業組織提了出來。屬于特定廠商的基準測試對于比較不同的系統沒有多大的用處(盡管它們可能在特定工作負載下判斷一個給定系統的好壞是有用的)。

在萬維網上,通過URL可以獲得聯機版本的所有TPC基準程序描述以及基準程序結果。

⑸ 完成數據庫的物理設計之后,設計人員就要用RDBMS提供的數據定義語言和其他實用程序將數據庫的邏輯設計和物理設計的結果嚴格地描述出來,成為DBMS可以接受的源代碼。再經過調試產生目標模式,然后就可以組織數據入庫了,這就是數據庫實施階段,即數據庫的物理實現。數據庫的物理實現包括兩項重要的工作:一是數據載入;二是應用程序的編碼和調試。

⑹ 在完成數據庫的物理實現之后,進行系統的試驗性運行。這一階段實際運行數據庫應用程序,執行對數據庫的各種操作,測試應用程序的功能是否滿足設計要求。如果不滿足,對應用程序部分則要修改、調整,直到達到設計要求為止。如果在運行過程中發現系統的性能不滿足要求,就需要返回到上一層,重新調整數據庫的物理設計。

⑺ 數據庫試運行合格后,數據庫開發工作就基本完成,即可投入正式運行了。但是,由于應用環境在不斷變化,數據庫運行過程中物理存儲也會不斷變化,因此對數據庫設計進行評價、調整、修改等維護工作是一個長期的任務。也是設計工作的繼續和提高。在數據庫運行階段,對數據庫的經常性的維護工作主要是由DBA完成的,它包括:

① 數據庫的轉儲和恢復;

② 數據庫的安全性和完整性控制;

③ 數據庫性能的監督、分析和改造;

④ 數據庫的重組織與重構造;

正像我們所強調的那樣,這個設計步驟既是數據庫的設計過程,也包括了數據庫應用系統的設計過程。在設計過程中把數據庫的設計和對數據庫中數據處理的設計緊密結合起來,將這兩方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計。事實上,如果不了解應用環境對數據的處理要求,或沒有考慮如何去實現這些處理要求,是不可能設計一個良好的數據庫結構的!



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢