官术网_书友最值得收藏!

任務1.1.3 了解數據庫設計的方法及步驟

數據庫設計是建立數據庫及其應用系統的技術,在信息系統開發和建設中處于核心地位。具體來講,數據庫設計是指對于一個已知的應用環境,構造一個最優的數據庫邏輯模式及物理結構,并在此基礎上建立數據庫及其應用系統,使其可以有效地存儲數據,滿足不同用戶的各種應用需求。

數據庫設計是一個龐大的工程,整個過程需要分階段進行,無法一氣呵成,往往需要試探性地反復修改,設計結果也不是唯一的。在設計的過程中,往往會遇到各種各樣的要求,需要克服各種制約因素,它們之間可能存在矛盾,數據庫設計的過程便是解決這些矛盾的過程。

1.數據庫設計方法

現實世界的復雜性導致了數據庫設計的復雜性。只有以科學的數據庫設計理論為基礎,在具體的設計原則指導下,才能保證數據庫的設計質量,減小后期維護的代價。在早期,數據庫設計基本都是采用手工試湊法,它既缺乏科學理論依據,又缺少工程方法的支持,設計人員的經驗和水平在很大程度上決定了數據庫的質量,因此項目質量難以得到保障,系統維護的成本也較高。設計人員經過十余年的努力探索,提出了各種數據庫設計方法。這些方法運用軟件工程的思想總結出了各種設計準則和規程,這些都屬于規范設計方法。目前常用的數據庫設計方法都屬于規范設計方法,即都是運用軟件工程的思想,根據數據庫設計的特點提出的。這種工程化的規范設計方法也是在目前技術條件下設計數據庫最實用的方法。

邏輯數據庫設計是根據用戶需求和特定 DBMS 的具體特點,以數據庫設計理論為依據,設計數據庫的全局邏輯結構和每個用戶的局部邏輯結構。物理數據庫設計是在邏輯結構確定之后,設計數據庫的存儲結構及其他實現細節。

著名的新奧爾良方法是目前公認的比較完整和權威的一種規范設計方法。它將數據庫設計分為4個階段:需求分析(分析用戶需求)、概念設計(信息分析和定義)、邏輯設計(設計實現)和物理設計(物理數據庫設計)。目前主流的規范設計方法大部分起源于新奧爾良方法,并在設計的每一階段采用了一些輔助方法來具體實現。

除了上述方法,還有一些為數據庫設計不同階段提供的具體實現技術與方法,如基于實體-聯系(Entity-Relationship,E-R)模型的設計方法、基于3NF(第三范式)的設計方法和基于抽象語法規范的設計方法等。規范設計方法從本質上看仍然屬于手動設計方法,其基本思想是過程迭代和逐步求精。

為了降低數據庫設計的工作難度,加快數據庫設計速度,提高數據庫設計質量,數據庫工作者也一直在研發具有輔助設計功能的設計工具。目前常用的實用化和產品化的數據庫設計工具軟件有Oracle公司的Design 2000和Sybase公司的PowerDesigner,這些工具軟件能自動或輔助設計人員完成數據庫設計過程中的很多任務,但使用起來還是有一定的難度和復雜度。

2.數據庫設計步驟

按照新奧爾良方法,數據庫設計的全過程主要分為需求分析、概念設計、邏輯設計和物理設計4個階段,如圖1-6所示。

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

(1)需求分析

進行數據庫設計前必須充分了解與分析用戶需求(包括數據與處理)。需求分析在整個設計過程中具有奠基石的地位,是最困難和最耗時間的一步。需求分析主要包括以下2個步驟。

① 收集、整理與分析。

這一步主要是調查、收集、整理與分析用戶在數據管理中的信息需求、處理需求、安全性與完整性需求,主要方法包括:調查組織機構情況、調查各部門的業務活動情況、協助用戶明確對新系統的各種需求、確定新系統的邊界等。

② 描述數據流圖與數據字典。

完成收集并分析用戶需求后,還需對需求進行進一步表達。分析和表達用戶需求的常用方法為結構化分析(Structured Analysis,SA)方法。SA方法從最上層的系統組織結構入手,采用自頂向下、逐層分解的方式分析系統,并描述數據的流向和數據的處理功能。除了數據流圖,還需使用數據字典(Data Dictionary,DD)來集中描述系統中的各類數據。DD 通常包括數據項名稱、性質、取值范圍、使用者、提供者、保密要求、數據之間聯系的語義說明,以及各部門對數據本身及數據處理的需求。 需求分析是數據庫設計的起點,需求分析的結果是否準確反映了用戶的實際需求,將直接影響到后面各個階段的設計,并影響設計結果是否合理和實用。

(2)概念設計

概念設計是數據庫設計中的關鍵步驟,它通過對用戶需求進行綜合分析、歸納與抽象,形成一個不依賴具體DBMS的概念數據模型,一般用E-R模型表示。對概念數據模型進行轉換,可以形成計算機上某個DBMS支持的邏輯數據模型。概念數據模型的特點如下。

① 具有較強的語義表達能力,能夠清晰表達應用所包含的各種語義知識。

② 簡潔明了、易于用戶理解,是數據庫設計人員與用戶之間溝通的橋梁。

數據庫概念設計的基本方法將在任務1.3.1中重點介紹。

(3)邏輯設計

邏輯設計的任務是將E-R模型轉換為某個DBMS所支持的數據模型(如關系模型,即基本表),并對其進行優化。這個階段的模型設計需要考慮到DBMS本身的性能與特征,然后根據用戶的需求及安全性方面的考慮,在基本表(Table)的基礎上建立必要的視圖(View),形成數據庫的外模式。

數據庫邏輯設計的基本方法將在任務1.3.2中重點介紹。

(4)物理設計

物理設計主要是為邏輯結構模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。物理設計因DBMS的特點和處理的需求而異,大致流程是對邏輯設計的關系模型進行物理存儲安排,并設計用于實現高效數據訪問的索引,形成數據庫的內模式。

主站蜘蛛池模板: 象山县| 郧西县| 施甸县| 兴业县| 阿拉尔市| 洛宁县| 武隆县| 类乌齐县| 宝坻区| 璧山县| 中宁县| 徐州市| 醴陵市| 陆良县| 江津市| 长治市| 娱乐| 滦南县| 湟源县| 乌兰县| 江永县| 逊克县| 麟游县| 偃师市| 清水河县| 林芝县| 闽清县| 兴安盟| 兴安县| 鄂托克前旗| 丽江市| 武隆县| 津南区| 四川省| 海原县| 吴桥县| 庆云县| 岗巴县| 洪洞县| 剑阁县| 仁布县|