本文最初由security發佈於security的博客,禁止任何形式的剽竊行爲
轉載原創文章請註明,轉載自:security的博客程序員
數據庫設計數據庫
- 綜合性的技術
- 涉及信息技術
- 數據庫技術
- 軟件工程技術
數據庫設計是指對於一個給定的應用環境,構造(設計)優化的數據庫邏輯模式和物理結構,並據此創建數據庫及其應用系統使之可以有效的存儲和管理數據,知足各類用戶的應用需求,包括信息管理要求和數據操做要求。安全
- 信息管理要求:在數據庫中應該存儲和管理哪些數據對象; 數據操做要求:對數據對象須要進行哪些操做,如查詢、增、刪、改、統計等操做;
爲用戶和各類應用系統提供一個信息基礎設施的高效率的運行環境;數據結構
- 數據庫數據的存取效率高
- 數據庫存儲空間的利用率高
- 數據庫系統運行管理的效率高
三分技術,七分管理,十二分基礎數據數據庫設計
- 管理:
數據庫建設項目管理
企業(即應用部門)的業務管理- 基礎數據:
數據的收集、整理、組織和不斷更新
將數據庫結構設計和數據處理設計密切結合工具
- 傳統的軟件工程:重行爲設計
忽視對應用中數據語義的分析和抽象,只要有可能就儘可能推遲數據結構設計的決策- 早期的數據庫設計:重結構設計
致力於數據模型和數據庫建模方法的研究,忽視了行爲設計對結構設計的影響;
- 計算機的基礎知識
- 數據庫的基本知識
- 軟件工程的原理和方法
- 數據庫設計的技術
- 序設計的方法和技巧
- 應用領域的專業知識
- 需求分析
- 概念結構設計
- 邏輯結構設計
- 物理結構設計
- 數據庫實施
- 數據庫的運行和維護
注意:需求分析和概念設計獨立於任何數據庫管理系統 邏輯設計和物理設計與選用的數據庫管理系統密切相關性能
- 系統分析人員和數據庫設計人員
自始至終參與數據庫設計,其水平決定了數據庫系統的質量- 數據庫管理員和用戶表明
主要參加需求分析與和數據庫的運行和維護- 應用開發人員
包括程序員和操做員
- 設計一個完善的數據庫應用系統,每每是上述6個階段的不斷反覆,這個設計步驟既是數據庫設計的過程,也包括數據庫應用系統的設計過程
- 把數據的設計和對數據庫中數據處理的設計緊密結合起來,兩方面的各個階段同時進行,相互參照,相互補充,以完善兩方面的設計
是否作得充分與準確,決定了構建數據庫的速度和質量學習
- 是設計數據庫的起點
- 結果是否準確地反映了用戶的實際要求,將直接影響到後面各個階段的設計,並影響到設計結果是否合理和實用
- 詳細調查現實世界要處理的對象(組織、部門、企業等)
- 充分了解原系統的功能工做概況
- 明確用戶的各類需求
- 在此基礎上肯定新系統的功能
- 新系統必須充分考慮從此可能的擴充和改變
- 調查的重點是「數據」和「處理」,得到用戶對數據庫的要求
信息要求優化
處理要求編碼
安全性和完整性要求
肯定用戶最終需求的難點
解決方法:不斷深刻和用戶進行交流
調查用戶需求的步驟
- 調查組織機構的狀況
- 調查各部門的業務活動狀況
- 協助用戶明確對新系統的各類要求
- 肯定新系統的邊界
- 跟班做業
- 開調查會
- 請專人介紹
- 詢問
- 調查表
- 查閱記錄
- 結構化分析方法
- SA方法
採用自頂向下,逐層分解的方法分析系統
- 數據字典是關於數據庫中數據的描述,即元數據,不是數據自己
- 數據字典是在需求分析階段監理,在數據庫設計過程當中不斷修改、充實、完善
- 數據字典是進行詳細的數據收集和數據分析所得到的主要結果
- 把需求收集和分析做爲數據庫設計的第一階段是十分重要的
- 第一階段收集的基礎數據(用數據字典表達)是下一步進行概念設計的基礎
- 強調兩點
綜合、概括、抽象造成一個獨立於具體DBMS的概念模型,經常使用E-R圖表示
概念模型:將需求分析獲得的用戶需求抽象爲信息結構(即概念模型)的過程就是概念結構設計
概念模型的特色
- 能真實、充分地反映現實世界
- 易於理解
- 易於更改
- 易於向關係等轉換
E-R圖
- 實體之間的聯繫
1對1
1對多
多對多- 提供了表示實體型、屬性和聯繫的方法
實體型(矩形)屬性(橢圓形)聯繫(菱形)
E-R圖的集成
- 合併各E-R圖,並消除衝突(屬性衝突、命名衝突、結構衝突)
- 修改和重構
將概念模型轉換爲某個數據庫管理系統所支持的數據模型,並對其進行優化
- E-R圖由實體型、實體的屬性和實體型之間的聯繫三個要素組成
- 關係模型的邏輯結構是一組關係模式的集合
- 將E-R圖轉換爲關係模型:將實體型、實體的屬性和實體型之間的聯繫轉換爲關係模式
- 數據庫邏輯設計的結果不是惟一的
- 獲得初步數據模型後,還應該適當的修改,調整數據模型的結構
- 關係數據模型的優化一般以規範化理論爲指導
爲邏輯數據結構選取一個最適合應用環境的物理結構 包括存儲結構和存取方法
- B+樹索引存取方法的選擇
關係上定義的索引數過多會帶來較多的額外開銷- HASH存取方法的選擇
該關係大小動態改變- 聚簇存取方法的選擇
- 存儲空間
- 存取時間
- 維護代價
根據邏輯設計和物理設計結果構建數據庫 編寫與調試應用程序 組織數據入庫並進行試運行
組織數據入庫是數據庫實施階段最主要的工做
- 人工方法
- 計算機輔助數據入庫
- 數據庫應用程序的設計應該與數據設計並行進行
- 組織數據入庫的同時還要調試應用程序
- 應用程序的設計、編碼、調試的方法,須要具體學習軟件工程課程
- 數據庫的轉儲和恢復
- 數據庫的安全性和完整性控制
- 數據庫性能的監督、分析和改進
- 數據庫的重組織與重構造
本文最初由security發佈於security的博客,禁止任何形式的剽竊行爲
轉載原創文章請註明,轉載自:security的博客