資料庫是應用資訊系統的核心,其設計既要考慮多種用戶對共用資料的不同要求,同時又必須綜合平衡影響系統性能的各種工程因素。因而設計者常面臨多種因素相互制約的複雜局面。為使設計者能擺脫設計過程中瑣碎重複的資料處理和資料查詢工作,在各個設計階段配備簡便的設計工具軟體,對於加快設計進程並改善設計品質很有益處。整個設計過程可分為環境調查與系統分析、建立概念資料模型、邏輯模式設計和物理模式設計等四個基本階段(見圖)。

  環境調查與系統分析 調查工作從分析應用系統的環境開始,由外向內分層逐步深入。最外層是應用部門所處的環境;第二層是應用部門自身;第三層是待建立的計算機應用信息系統,而數據庫系統是這個應用信息系統的一部分。這幾個層次的邊界在開始調查時並不清晰,需要通過這一階段的調查分析加以明確。

  設計者應精心安排對各類人員的調查順序並準備好調查的問題。調查的問題應圍繞弄清應用部門的職能范圍、該部門流通的信息的種類和特性,以及有關的信息處理任務等。系統的信息流程圖、各項職能的功能分解圖和任務-數據使用矩陣等,可作為系統的描述工具,便於同用戶一起討論,取得一致的理解。

  建立概念數據模型 把前階段調查分析所收集到的知識進一步表達為準確的概念數據模型。模型應反映應用部門的信息的結構、信息間的相互制約關系,以及應用部門各職能機構對信息存儲、查詢和加工的要求。在這一階段,設計者應避開數據庫在計算機上存放的具體工程細節,使模型盡可能真實全面地反映應用部門中信息的流通情況。以擴充的實體-聯系數據模型方法為例,第一步先明確應用部門內各職能機構的信息實體、屬性和實體間的聯系。實體間的聯系又可分為聚合型聯系、概括型聯系和事件型聯系等。如此,即可給出反映各職能機構信息關系的局部視圖。第二步再將第一步所產生的多個局部視圖集成為一體化的全局視圖,即為該應用部門的概念數據模型。在一體化過程中,要解決各局部視圖間有關部分表現出的矛盾和相互沖突。輔助第二階段的設計工具有:數據模型的高層描述語言、數據字典軟件和概念模型顯示等。在設計大型復雜系統時,這些工具尤為重要。

  邏輯模式設計 主要工作是把概念數據模型轉換為邏輯模式,即適應於特定數據庫管理系統的邏輯數據結構。與此同時,也要為各種數據處理任務產生相應的外部子模式。邏輯模式的轉換已有成熟的方法可以遵循。例如,把概念數據模型轉換為層次網狀或關系型邏輯模式,應用程序和相應的子模式的產生,以及邏輯模式的性能評價和模式優化等都有算法可供選擇。模式的評價和優化算法可編為軟件作為設計工具使用,它能加快設計過程並使設計者獲得較好的設計結果。

  物理模式設計 主要任務是文卷結構的設計,以及查詢和應用作業的優化。在文卷設計中,存在著多種多樣的索引文件和邏輯訪問路徑的設計算法。對於查詢優化問題,在不同的文卷結構條件下存在著各種加快查詢的優化算法。設計者的主要任務是從中挑選合適的方法,以滿足用戶對應用系統的性能要求並使之能為工程實現所接受。

  大型數據庫的設計過程,往往要經歷多次循環反復。當某一設計階段發現新問題時,設計者便返回到前面的某一階段去進行修正。在數據庫建立以後,由於用戶的要求和系統在技術上的變遷,有時也要求修改設計。對這種維護性修改,設計者在開始設計時就應該考慮到修改的可能性。

  數據庫設計方面的主要研究方向是:為數據庫設計提供能夠有效地表達語義關系的數據模型;為設計各階段提供交互式的設計工具,以及把設計工具一體化,以構成完整的數據庫設計研制環境等。

  

參考書目

 D. C. Tsichritzis and F.H.Lochovsky,Data Models,Prentice Hall,Englewood Cliffs,New Jersey,1981.

 C.J.Date,An Introduction to Data base Systems,3rd ed.,Addison Wesley,Reading,Mass.,1981.