資料庫設計:針對具體的應用場景,使用現有的DBMS構建適合的資料庫模式,建立資料庫及其應用系統,使之能有效地收集、存盤、操作和管理資料,滿足實際業務中各類用戶的應用需求、資訊需求和處理需求,這個程序稱之為資料庫設計,
1. 設計概述
1.1 資料庫設計的兩個階段(生命周期)
1.1.1 資料庫分析和設計階段(需求分析、概念設計、邏輯設計、物理設計)
1.1.2 資料庫實作和操作階段(資料庫的實作、操作和監督、修改和調整)
1.2 資料庫設計的兩個目標
1.2.1 滿足應用功能需求(滿足用戶應用中的增、刪、查、改)
1.2.2 良好的資料庫性能(資料庫具有高效的存取和對空間的節省,并具有良好的資料共享性、完整性、一致性及安全保密性)
1.3 資料庫設計的兩大內容
1.3.1 資料庫結構設計(模式及子模式的設計[靜態]:概念結構設計、邏輯結構設計、物理結構設計)
1.3.2 資料庫行為設計(確定用戶的行為和動作[動態])
1.4 資料庫設計的三種方法
1.4.1 直觀設計法(利用經驗和技巧設計,無法保證質量,已被淘汰)
1.4.2 規范設計法
(1) 新奧爾良設計方法(分階段)
把設計分為四個階段(需求分析、概念結構設計、邏輯結構設計、物理結構設計),注重結構設計,而不考慮行為設計,
(2) 基于E-R模型的設計方法
在需求分析的基礎上用 E-R圖 構造反映物體之間聯系的企業模式,然后將此模式轉換為概念模式,
(3) 基于第三范式的設計方法(結構化)
在需求分析的基礎上確定資料庫的模式、屬性與屬性間的依賴關系,然后組織在一個關系模式中,再分析模式中不符合第三范式的關系,進行模式分解,
1.4.3 計算機輔助設計法(以人機互動的方式模擬規范化設計的方法,以此加速設計的程序)
1.5 資料庫設計的程序

2. 基本步驟(需求分析、概念設計、邏輯設計、物理設計、資料庫實施、資料庫的運行和維護)
2.1 需求分析(確定資料庫范圍、應用程序分析、收集與分析資料、撰寫需求分析報告)
目的:了解與分析用戶的資訊與應用處理的要求,并將結果按一定格式整理而形成需求分析報告,
作用:該分析報告是后續概念設計、邏輯設計、物理設計、資料庫建立與維護的依據,
2.1.1 確定資料庫范圍
(1) 首先考慮支持用戶作業所必須的應用要求
(2) 確定資料庫應支持的應用功能,充分滿足用戶的應用功能要求
(3) 盡可能考慮將來的應用需求,以提高資料庫的應變能力
(4) 避免應用程序中對資料庫做太多或太大的修改,從而提高資料庫的生命周期
2.1.2 應用程序分析(可借助資料流程圖等工具)
(1) 確定要用到的資料
(2) 資料的使用順序
(3) 資料該作如何處理及處理的策略
(4) 處理的結果
2.1.3 收集與分析資料
目的:了解并分析資料的組成格式及操作特征,每個資料元素的語意及關系等,
可以下三個方面展開:
(1) 靜態結構(不施加應用操作時資料的原始狀況)
I. 資料分類表(資料的總體描述)

II. 資料元素表(資料項及屬性)

(2) 動態結構(施加應用操作時資料的狀況)——概念設計和物理設計的重要依據
I. 任務分類表(對資料流程的分析)

II. 資料操作特征表(描述任務與資料之間的關系)

(3) 資料約束(使用資料時的特殊要求)
I. 資料的安全保密性,其主要是針對各種不同類資料,誰擁有操作(增刪查改)權限
II. 資料的完整性,其主要是指資料正確性的約束范圍和驗證準則,以及一致性保護的要求
III. 回應時間,其主要是指某些特定應用要求的資料存取時間限制
IV. 資料恢復,其主要是指轉儲及恢復的時機與范圍等要求
2.1.4 撰寫需求分析報告
作用:應用需求的業務人員和資料庫設計人員的“共同語言”,能準確地表達應用需求,可讀性強,且無二義性,能為資料庫的后續階段設計提供全面、準確和詳細的資料,
通常包含以下內容:
(1) 資料庫的應用功能目標
(2) 標明不同用戶的視圖范圍
(3) 應用處理程序需求說明
I. 資料流程圖
II. 任務分類表
III. 資料操作特征表
IV. 操作程序說明書(根據以上三類內容,標明各任務的主要邏輯執行步驟)
(4) 資料字典(包括資料分類表、資料元素表和各類原始資料)
作用:存盤和檢索各種資料(元資料)描述,
(5) 資料量(根據資料分類表的靜態資料量和操作特征表的動態資料量統計得出)
(6) 資料約束
2.2 概念結構設計
目的:在需求分析報告的基礎上按照特定的方法設計滿足應用需求的用戶資訊結構(概念模型),可完全不顧及具體的硬體和軟體的限制,它是一個符合用戶要求的趨于理想化的資訊結構,
(1) 物體分析法(自頂向下:E-R模型)
(2) 屬性綜合法(自底向上)
步驟:屬性分類、物體構成、聯系的確定
2.3 邏輯結構設計
目的:將概念模型轉換為等價的、并為特定DBMS所支持的資料模型(層次、網狀、關系)的結構,
(1)需準備以下資訊
I. 獨立于特定DBMS的概念模型
II. 有關回應時間、安全保密性、資料完整性及恢復方面的要求說明,包括保持資料一致性的規則說明
III. 資料量及使用頻率
IV. 特定DBMS特性,包括DBMS支持的資料模型及資料定義語言的說明
(2)需產出以下資訊
I. 特定DBMS支持的概念模型(即模式)
II. 一個或多個外部視圖(即子模式)
III. 物理設計說明(存入資料庫的資料量、使用頻率和回應時間要求)
IV. 程式設計說明(在需求分析的基礎上,根據已完成的邏輯模型(模式),編制各程式名、執行邏輯步、存取資料的名、順序和操作特征(增刪查改)的說明)
(3)設計步驟

I. 應用程式設計說明:為可實際運行的應用程式設計提供依據與指導,并作為設計評價的基礎,
II. 設計評價:分析并檢驗模式及子模式的正確性與合理性,通程序式設計指南中提交的程式執行邏輯步驟進行模擬,考核模式及子模式是否滿足應用需求,并進一步估計資料容量及存取效率,為物理設計提供參考資訊,
2.4 物理設計
目的:根據指定的邏輯結構,研究并構造物理結構的程序,具體包括確定資料庫在存盤設備上的存盤結構及存取方法,可能還包括建立索引和聚集,以及物理塊大小、緩沖區個數和大小、資料壓縮的選擇等,
2.5 資料庫實施
(1) 加載資料
(2) 應用程式設計(隨著資料庫結構設計逐步進行,這樣才能具有較高的穩定性和實用性)
(3) 資料庫試運行
2.6 資料庫運行和維護
難點:資料庫重組與重構
重組:當空間利用率和存取效率下降時,利用DBMS提供的設施調整資料的存盤位置,從而回收“碎片”,使有關聯的資料盡可能靠近存放,達到提高空間利用率和資料存取效率的目的,
重構:修改部分邏輯結構或物理結構(設計階段未考慮周到),
3. 關系資料庫設計方法
3.1 關系資料庫設計程序與各級模式

3.2 概念結構的設計方法
步驟:建立區域資訊結構→合成全域資訊結構并優化(用E-R圖作描述工具)
組成三要素:物體、物體的屬性以及物體間的聯系
3.2.1 E-R圖的表示方法
物體型之間的聯系型別:1:1、1:N、M:N
(1) 兩個物體型之間的聯系

(2) 兩個以上的物體型之間的聯系

(3) 單個物體型內的聯系

3.2.2 區域資訊結構設計
目的:根據需求分析報告中標明的用戶視圖范圍建立滿足應用需求的資訊結構,
步驟:確定區域范圍、選擇物體、選擇物體關鍵字、確定物體間的聯系、確定物體的屬性,
(1) 確定區域范圍(需求分析報告中的用戶視圖范圍(子模式范圍))
(2) 選擇物體(依據資料分類表選擇物體;難點:區分物體與屬性)
(3) 選擇物體關鍵字(唯一標識物體)
(4) 確定物體間的聯系(物體間能匹配)
(5) 確定物體的屬性(屬性分為標識屬性和說明屬性)
3.2.3 全域資訊結構設計
目的:將所有區域資訊結構合并為一個全面且準確的全域資訊結構,避免或消除不同區域資訊結構因合并導致的資料不一致,并盡可能增強資料共享性,控制資料的冗余,
沖突:屬性沖突、命名沖突和結構沖突,
(1) 屬性沖突:屬性域(型別、取值范圍、取值集合);屬性取值單位,
(2) 命名沖突:同名異義;異名同義,
(3) 結構沖突:同一物件在不同的區域E-R圖代表不同性質(物體、屬性);同一物體在不同E-R圖中屬性個數或型別不一致;物體間的聯系在不同的E-R圖中的型別不一致,
優化步驟:相關物體型別合并、消除不必要的冗余屬性、消除不必要的冗余聯系,
3.3 邏輯結構的設計方法
目的:把概念設計階段的E-R圖轉換為RDBMS支持的資料模型,
步驟:將E-R圖轉換為關系模型、對關系模型進行優化、設計面向用戶的外模式,
3.3.1 E-R圖向關系模型轉換
目的:將物體、物體的屬性以及物體間的聯系轉換為關系模型,
轉換原則:
(1) 一個物體型可轉換為一個關系模式
(2) 一個[1:1]物體聯系可以轉換為一個獨立的關系模式,也可以任意一端的關系模式合并
(3) 一個[1:N]物體聯系可以轉換為一個獨立的關系模式,也可以任意N端的關系模式合并
(4) 一個[M:N]物體聯系可以轉換為一個關系模式
(5) 三個或三個以上物體間的多元聯系可以轉換為一個關系模式
(6) 具有相同碼的關系模式可以合并
3.3.2 資料模型的優化
目的:根據應用需要修改、調整資料模型的結構,以關系規范化理論為指導,
(1) 確定屬性間的函式依賴關系
(2) 對各關系模式間的資料依賴進行極小化處理,消除冗余的聯系
(3) 判斷各關系模式的范式,根據實際需求選擇合適的范式
(4) 根據需求分析階段的資料處理要求,分析這些模式是否適合應用環境,確定是否進行模式分解或合并
(5) 對關系模式進行必要的分解,以提高資料操作的效率及空間的利用率
3.3.3 設計用戶子模式
目的:根據區域應用需求,利用視圖(View)設計更符合區域用戶需要的外模式,
(1) 可根據用戶習慣重新定義屬性的別名
(2) 可對不同級別的用戶定義不同的視圖,保證系統的安全性
(3) 可對經常使用的復雜查詢定義為視圖,簡化用戶操作
3.4 物理結構設計方法
目的:通過對關系建立索引和聚集來實作與應用相關資料的邏輯連接和物理聚集,以改善對資料庫的存取效率,
3.4.1 建立索引
注意:建立索引的物件應是插入、修改和洗掉操作較少的,但使用頻率(查詢)較高的,
(1) 靜態索引(預先建立,適合多用戶且使用周期長)
(2) 動態索引(臨時建立,適合單獨用戶或臨時需求)
3.4.2 建立聚集
說明:聚集時將資料集中存放的物理存盤技術,借以提高I/O的資料命中率而改善存取速率,
注意:使用頻率高、資料量大的資料才建立聚集,且修改操作應較少,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2057.html
標籤:其他
上一篇:學習CNN系列一:原理篇
下一篇:金融書籍推薦
