二十、數據庫設計

一、數據庫設計的重要性

在系統研發中,數據庫作爲數據的保存介質,那麼數據庫如何保存業務數據。這就需要開發者來設計
了。當數據庫比較複雜(如數據量大,表較多,業務關係複雜)時:
1、良好的數據庫設計可以:
節省數據的存儲空間
能夠保證數據的完整性
方便進行數據庫應用系統的開發
2、糟糕的數據庫設計
數據冗餘、存儲空間浪費
數據更新和插入的異常
數據庫設計對於開發者來說,是很重要的一塊。

二、數據庫的生命週期

2.1 需求分析階段

此階段在軟件項目開發週期中的需求分析階段進行)這個階段主要是收集並分析用戶的業務和數據處理
需求
收集信息(我們需要與數據的創造者和使用者進行訪談。對訪談獲得的信息進行整理、分析,並撰
寫正式的需求文檔。需求文檔中需包含:需要處理的數據;數據的自然關係;數據庫實現的硬件環
境、軟件平臺等;)
標識對象
標識每個對象的屬性
標識對象之間的關係

2.2 邏輯設計階段

此階段在軟件項目開發週期中的概要設計和詳細設計階段進行,使用ER或UML建模技術,創建概念數
據模型圖,展示所有數據以及數據間關係。最終概念數據模型必須被轉化爲範式化的表。
a. 繪製E-R圖
b. 將E-R圖轉換爲表格
c. 應用三大範式規範化表格

2.3 物理設計階段

根據特定數據庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措
施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏
輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂“物理數據庫”。物理設計階段遵循以下
要求
a. 數據庫物理設計的目標是儘可能優化性能。
b. 物理設計階段,表結構可能需要進行重構來滿足性能上的需求,這被稱爲反範式化。
c. 反範式化。
d. 實現和維護階段。反範式化的步驟包括
1. 辨別關鍵性流程,如頻繁運行、大容量、高優先級的處理操作
2. 通過增加冗餘來提高關鍵性流程的性能
3. 評估所造成的代價(對查詢、修改、存儲的影響)和可能損失的數據一致性
實現和維護階段
1. 當設計完成之後,使用數據庫管理系統(DBMS)中的數據定義語言(DDL)來創建數據結構。
2. 數據庫創建完成後,應用程序或用戶可以使用數據操作語言(DML)來使用(查詢、修改等)該
數據庫。
3. 一旦數據庫開始運行,就需要對其性能進行監視。當數據庫性能無法滿足要求或用戶提出新的功
能需求時,就需要對該數據庫進行再設計與修改。這形成了一個循環:監視 –> 再設計 –> 修改
–> 監視…。

三、設計範式

範式:英文名稱是 Normal Form,它是英國人 E.F.Codd(關係數據庫的鼻祖)在上個世紀70年代提
出關係數據庫模型後總結出來的,範式是關係數據庫理論的基礎,也是我們在設計數據庫結構過程中所
要參考的一個建議。

3.1 第一範式(1NF)

第一範式強調的是列的原子性,信息存儲列不可再分,原子:就是不可再分;
即列不能夠再分成其他幾列。避免字段中信息冗餘。
考慮這樣一個表:【聯繫人】(姓名,性別,電話)
如果在實際場景中,一個聯繫人有家庭電話和公司電話,那麼這種表結構設計就沒有達到 1NF。要符合
1NF 我們只需把列(電話)拆分,即:【聯繫人】(姓名,性別,家庭電話,公司電話)。
第一列具備原子性 第二列不具備原子性
 

3.2 第二範式(2NF)

所謂第二範式,第一,表必須符合第一範式的規則。第二,每列必須依賴主鍵。
在實際中,一個實體還需要分割成兩個表,這樣就有兩個實體。表頭是兩個有關係的表中父表的一部
分。表頭的信息只需要存儲一次,而細節表存儲可能有多個實例信息。表頭通常保持原表的名稱,細節
表通常以表頭名稱開頭,添加一些細節表的信息。

3.3 第三範式(3NF)

第三範式使得表中所有的列不僅僅依賴於某個事物,而是依賴於正確的事物。
有以下三個規則:
1、表必須符合2NF。
2、任何列都不能依賴於非鍵列。
3、不可以有派生的數據(不建議冗餘)。

四、繪製E-R圖

E-R圖也稱實體-聯繫圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯繫的方法,用
來描述現實世界的概念模型圖。

4.1、工具準備

PowerDesigner(推薦使用)
ApexSQLLog
Tuning Advisor
SSMSTools
DBDiff
PAL Tool
RMLSqlNexus
SqlNexus
SQLIO和SQLIOSim
 
PowerDesigner 模型設計工具
鏈接:https://pan.baidu.com/s/1A8KTCMLaSbR0j_vOsPFvwg?pwd=6666
提取碼:6666

4.2、生成數據庫

a. PowerDesigner生成腳本----通過腳本執行初始化數據庫
b. PowerDesigner直接連接數據庫服務器,初始化數據庫

4.3、ODBC & 如何配置ODBC

開放數據庫連接(Open Database Connectivity,ODBC)是爲解決異構數據庫間的數據共享而產
生的,現已成爲WOSA(The Windows Open System Architecture(Windows開放系統體系結構))的
主要部分和基於Windows環境的一種數據庫訪問接口標準。ODBC 爲異構數據庫訪問提供統一接口,
允許應用程序以SQL 爲數據存取標準,存取不同DBMS管理的數據;使應用程序直接操縱DB中的數
據,免除隨DB的改變而改變。用ODBC 可以訪問各類計算機上的DB文件,甚至訪問如Excel 表和ASCI
I數據文件這類非數據庫對象。
開始配置:
控制面板----> 系統和安全----->管理工具----> ODBC數據源--->配置用戶DSN

4.4、E-R圖生成數據庫 && 通過數據庫生成E-R圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章