一直沒有設計過數據庫,最近正好工作上要求設計一個指標數據庫,正好變學習邊設計。
1.數據庫設計流程學習
a)系統的需求分析階段
b)概念結構設計階段
c)邏輯結構設計階段
d)數據庫物理設計階段
e)數據庫實施階段
f)數據庫運行和維護階段
2.流程1:系統的需求分析階段
進行數據庫設計必須了解與分析用戶需求(包括數據與處理),需求分析是整個設計過程的基礎。
a)需求分析的任務
對現實世界要處理的對象(組織、部門、企業等)進行詳細的調查,通過對原系統的了解,收集支持
新系統的基礎數據並對其進行處理,在此基礎上確定新系統的功能。
調查分析用戶的活動:調查組織機構情況,調查各部門的業務活動情況。
收集和分析需求數據,確定系統邊界:信息需求;處理需求;安全性;完整性的需求。
編寫需求分析說明書
1)系統概況,系統的目標、范圍、背景、歷史和現狀
2)系統的原理和技術,對原系統的改善
3)系統的總體結構與子系統結構說明
4)系統功能說明
5)數據處理概要、工程體制和設計階段划分
6)系統方案及技術、經濟、功能和操作上的可行性。
隨系統分析報告要提供下列附件:
1)系統的硬件、軟件支持環境的選擇及規格要求。(所選擇的數據庫管理系統、操作系統、漢子平台、計算機型號及其網絡環境等)
2)組織機構圖、組織之間聯系圖及各機構功能業務一覽圖。
3)數據流程圖、功能模塊圖和數據字典等圖表。
b) 需求分析的方法
主要方法有自頂向下和自底向上
3. 流程2:概念結構設計階段
概念結構設計是整個數據庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型。
a) 概念設計方法
設計概念結構的ER模型可采用自頂向下、自底向上、逐步擴張和混合策略四種方法。其中最常用的方法是自底向上。自底向上
方法是先定義各局部應用的概念結構ER模型,然后將它們集成,得到全局概念結構ER模型。
概念設計就是將需求分析得到的用戶需求抽象為信息結構,即概念數據模型。概念模型作為概念設計的表達工具,為數據庫提供
一個說明性結構,是設計數據庫邏輯結構的基礎。概念模型具備以下特點:
語義表達能力豐富;易於交流和理解;易於修改和擴充;易於向各種數據模型轉換。
一個好的ER模式,除了能夠准確、全面的反映用戶需求之外,還應該達到下列要求:
實體類型的個數應盡量少;
實體類型所含屬性個數應盡可能少;
實體類型間的聯系應無冗余。
4.流程3:邏輯結構設計階段
邏輯結構設計是將概念結構轉換為某個DBMS所支持的數據模型,並對其進行優化。
概念結構設計階段得到的ER模型是用戶模型,它獨立於任何一種數據模型,獨立於任何一個具體的
DBMS,是一個與計算機軟、硬件的具體性能無關的全局概念模式。為了建立用戶所要求的數據庫,
需要把上述概念模型轉換為某個具體的DBMS所支持的數據模型,即邏輯結構設計。
數據庫邏輯設計的任務是將概念結構轉換成特定的DBMS所支持的數據模型的過程。關系數據庫邏輯設計
的結果是一組關系模式的定義。
初始關系模式設計——>關系模式規范化——>模式評價——是否修改——》以DBMS語法描述——〉物理設計
初始關系模式設計:初始關系模式設計過程就是ER圖向關系模式的轉換。ER圖向關系模式轉換的實質是要將ER
圖中的實體、屬性和聯系轉換成關系模式。
轉換原則:
一個實體轉換為一個關系模式,實體的屬性就是關系的屬性,實體的鍵就是關系的鍵。
具有相同主鍵的關系可以合並。
一個聯系轉換為一個關系模式,分為以下幾種情況。
一個1:1的聯系可以轉化為一個獨立的關系模式,也可以與任意一端對應的關系模式合並。
一個1:n的聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合並。
一個n:m的聯系轉換為一個關系。關系的屬性由聯系本身的屬性和與之聯系的實體的主鍵組成,
關系的主鍵由聯系中各實體的主鍵組合而成(組合鍵)。
畫出關系圖:邏輯設計中,ER圖轉換為關系模式后,應考慮數據的完整性。實體完整性通過確定主鍵已完成。
用戶定義的完整性在實現階段完成。對於參照完整性,可以用關系圖來描述。
5.物理設計階段
物理設計是為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。
物理設計的內容:
1)存儲記錄結構的設計
存儲記錄結構包括記錄的組成、數據項的類型和長度,以及邏輯記錄到存儲記錄的映射。
2)訪問方法的設計
訪問方法是為存儲在物理設備(通常指輔存)上的數據提供存儲和檢索能力的方法。一個訪問方法
包括存儲結構和檢索機構兩個部分。存儲結構限定了可能訪問的路徑和存儲記錄;檢索機構定義了
每個應用的訪問路徑,但不涉及存儲結構的設計和設備分配。
3)數據存放位置的設計
為了提高系統性能,應該根據應用情況將數據的易變部分、穩定部分、經常存取部分和存取頻率較低部分分開存放。
4)系統配置設計
DBMS產品一般都提供了一些系統配置變量、存儲分配參數,供設計人員和DBA對數據庫進行物理優化。系統為這些
變量設定了初始值,但是這些值不一定適合每一種應用環境,在物理設計階段,要根據實際情況重新對這些變量賦值,
以滿足新的要求。
物理設計的方法:
1)聚簇
聚簇就是為了提高查詢速度,把在一個(或一組)屬性上具有相同的元祖集中地存放在一個物理塊中。如果存放不下,
可以存放在相鄰的物理塊中。其中,這個屬性稱為聚簇碼。
2)索引
索引是數據庫中一種非常重要的數據存取路徑,在存取方法設計中要確定建立何種索引,以及在哪些表和屬性上建立索引。通常
情況下,對數據量很大,又需要做頻繁查詢的表建立索引,並且選擇將索引建立在經常用做查詢條件的屬性或屬性組,以及經常用
做連接屬性的屬性或屬性組上。
評價物理結構:
評價物理數據庫的方法完全依賴於所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結果
進行權衡、比較,選擇出一個較優的合理的物理結構。如果評價結果滿足設計要求,則可進行數據實施。如果該結構不符合用戶需求,
則需要修改設計。實際應用中,往往需要經過反復測試才能優化物理設計。
6.數據庫實施階段
數據庫實施階段工作:
1)建立實際數據庫結構
2)裝入數據
3)應用程序編碼與調試
4)數據庫試運行(功能測試、性能測試)
5)整理文檔
7.數據庫運行和維護階段
數據庫應用系統經過運行后即可投入正式運行。在數據庫系統運行過程中必須不斷的對其進行評價、調整與修改。
1)維護數據庫的安全性與完整性
2)監測並改善數據庫性能
3)重新組織和構造數據庫