數據庫設計


本文最初由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的博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM