數據庫設計

本文最初由security發佈於security的博客,禁止任何形式的剽竊行爲
轉載原創文章請註明,轉載自:security的博客程序員

數據庫設計數據庫

  1. 綜合性的技術
  2. 涉及信息技術
  3. 數據庫技術
  4. 軟件工程技術

數據庫設計概述

數據庫設計是指對於一個給定的應用環境,構造(設計)優化的數據庫邏輯模式物理結構並據此創建數據庫及其應用系統使之可以有效的存儲和管理數據,知足各類用戶的應用需求,包括信息管理要求和數據操做要求。安全

  • 信息管理要求:在數據庫中應該存儲和管理哪些數據對象; 數據操做要求:對數據對象須要進行哪些操做,如查詢、增、刪、改、統計等操做;
  • 數據庫設計目標

爲用戶和各類應用系統提供一個信息基礎設施的高效率的運行環境;數據結構

  • 高效率的運行環境
  1. 數據庫數據的存取效率高
  2. 數據庫存儲空間的利用率高
  3. 數據庫系統運行管理的效率高
  • 數據庫設計的特色
  1. 數據庫建設的基本規律

三分技術,七分管理,十二分基礎數據數據庫設計

  • 管理:
    數據庫建設項目管理
    企業(即應用部門)的業務管理
  • 基礎數據:
    數據的收集、整理、組織和不斷更新
  1. 結構(數據)設計和行爲(處理)設計相結合

將數據庫結構設計和數據處理設計密切結合工具

  • 結構和行爲分離的設計
  • 傳統的軟件工程:重行爲設計
    忽視對應用中數據語義的分析和抽象,只要有可能就儘可能推遲數據結構設計的決策
  • 早期的數據庫設計:重結構設計
    致力於數據模型和數據庫建模方法的研究,忽視了行爲設計對結構設計的影響;

  1. 大型數據庫的設計是涉及多學科的綜合性技術
  • 要求設計人員具備如下多方面的知識和技能管理
  1. 計算機的基礎知識
  2. 數據庫的基本知識
  3. 軟件工程的原理和方法
  4. 數據庫設計的技術
  5. 序設計的方法和技巧
  6. 應用領域的專業知識
  • 數據庫設計的基本步驟
  1. 需求分析
  2. 概念結構設計
  3. 邏輯結構設計
  4. 物理結構設計
  5. 數據庫實施
  6. 數據庫的運行和維護

注意:需求分析和概念設計獨立於任何數據庫管理系統 邏輯設計和物理設計與選用的數據庫管理系統密切相關性能

圖片

  • 參加數據庫設計的人員
  1. 系統分析人員和數據庫設計人員
    自始至終參與數據庫設計,其水平決定了數據庫系統的質量
  2. 數據庫管理員和用戶表明
    主要參加需求分析與和數據庫的運行和維護
  3. 應用開發人員
    包括程序員和操做員
  • 總結
  1. 設計一個完善的數據庫應用系統,每每是上述6個階段的不斷反覆,這個設計步驟既是數據庫設計的過程,也包括數據庫應用系統的設計過程
  2. 把數據的設計和對數據庫中數據處理的設計緊密結合起來,兩方面的各個階段同時進行,相互參照,相互補充,以完善兩方面的設計

需求分析

是否作得充分與準確,決定了構建數據庫的速度和質量學習

  • 需求分析就是分析用戶的要求
  1. 是設計數據庫的起點
  2. 結果是否準確地反映了用戶的實際要求,將直接影響到後面各個階段的設計,並影響到設計結果是否合理和實用
  • 需求分析的任務
  1. 詳細調查現實世界要處理的對象(組織、部門、企業等)
  2. 充分了解原系統的功能工做概況
  3. 明確用戶的各類需求
  4. 在此基礎上肯定新系統的功能
  5. 新系統必須充分考慮從此可能的擴充和改變
  6. 調查的重點是「數據」和「處理」,得到用戶對數據庫的要求
  • 信息要求優化

  • 處理要求編碼

  • 安全性和完整性要求

  • 肯定用戶最終需求的難點

  • 解決方法:不斷深刻和用戶進行交流

  • 調查用戶需求的步驟

  1. 調查組織機構的狀況
  2. 調查各部門的業務活動狀況
  3. 協助用戶明確對新系統的各類要求
  4. 肯定新系統的邊界
  • 經常使用調查方法
  1. 跟班做業
  2. 開調查會
  3. 請專人介紹
  4. 詢問
  5. 調查表
  6. 查閱記錄
  • 分析方法
  1. 結構化分析方法
  2. SA方法
    採用自頂向下,逐層分解的方法分析系統
  • 需求分析的過程

圖片

  • 數據字典
  1. 數據字典是關於數據庫中數據的描述,即元數據,不是數據自己
  2. 數據字典是在需求分析階段監理,在數據庫設計過程當中不斷修改、充實、完善
  3. 數據字典是進行詳細的數據收集和數據分析所得到的主要結果

圖片

圖片在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

  • 總結
  1. 把需求收集和分析做爲數據庫設計的第一階段是十分重要的
  2. 第一階段收集的基礎數據(用數據字典表達)是下一步進行概念設計的基礎
  3. 強調兩點
  • 設計人員應充分考慮到可能的擴充和改變,使設計易於更改,系統易於擴充
  • 必須強調用戶的參與

概念結構設計

綜合、概括、抽象造成一個獨立於具體DBMS的概念模型,經常使用E-R圖表示

  • 概念模型:將需求分析獲得的用戶需求抽象爲信息結構(即概念模型)的過程就是概念結構設計

  • 概念模型的特色

  1. 能真實、充分地反映現實世界
  2. 易於理解
  3. 易於更改
  4. 易於向關係等轉換
  • 描述概念模型的工具

E-R圖

  • E-R模型
  1. 實體之間的聯繫
    1對1
    1對多
    多對多
  2. 提供了表示實體型、屬性和聯繫的方法
    實體型(矩形)屬性(橢圓形)聯繫(菱形)

E-R圖的集成

  1. 合併各E-R圖,並消除衝突(屬性衝突、命名衝突、結構衝突)
  2. 修改和重構

邏輯結構設計

將概念模型轉換爲某個數據庫管理系統所支持的數據模型,並對其進行優化

  • 轉換內容
  1. E-R圖由實體型、實體的屬性和實體型之間的聯繫三個要素組成
  2. 關係模型的邏輯結構是一組關係模式的集合
  3. 將E-R圖轉換爲關係模型:將實體型、實體的屬性和實體型之間的聯繫轉換爲關係模式
  • 數據模型的優化
  1. 數據庫邏輯設計的結果不是惟一的
  2. 獲得初步數據模型後,還應該適當的修改,調整數據模型的結構
  3. 關係數據模型的優化一般以規範化理論爲指導

物理結構設計

爲邏輯數據結構選取一個最適合應用環境的物理結構 包括存儲結構和存取方法

  • 數據庫管理系統經常使用存取方法
  1. B+樹索引存取方法的選擇
    關係上定義的索引數過多會帶來較多的額外開銷
  2. HASH存取方法的選擇
    該關係大小動態改變
  3. 聚簇存取方法的選擇
  • 評價物理結構方法
  1. 存儲空間
  2. 存取時間
  3. 維護代價

數據庫的實施和維護

根據邏輯設計和物理設計結果構建數據庫 編寫與調試應用程序 組織數據入庫並進行試運行

  • 數據的載入

組織數據入庫是數據庫實施階段最主要的工做

  • 數據裝載方法
  1. 人工方法
  2. 計算機輔助數據入庫
  • 應用程序的調試
  1. 數據庫應用程序的設計應該與數據設計並行進行
  2. 組織數據入庫的同時還要調試應用程序
  3. 應用程序的設計、編碼、調試的方法,須要具體學習軟件工程課程
  • 數據庫的運行和維護
  1. 數據庫的轉儲和恢復
  2. 數據庫的安全性和完整性控制
  3. 數據庫性能的監督、分析和改進
  4. 數據庫的重組織與重構造

本文最初由security發佈於security的博客,禁止任何形式的剽竊行爲
轉載原創文章請註明,轉載自:security的博客

相關文章
相關標籤/搜索