一、規格化數據庫
規格化是去除數據庫裏冗餘數據的過程,在設計和重新設計數據庫時使用。它是一組減少數據冗餘來優化數據庫的指導方針,具體的方針被稱爲規格形式。
1、原始數據庫
2、數據庫邏輯數據
數據庫邏輯設計,也被稱爲邏輯建模,是把數據安排到有邏輯的、有組織的對象組,以便於維護的過程。
1)什麼是終端用戶的需求
在設計是時要考慮的與用戶相關的因素包括:
數據庫裏應該保存什麼數據;
用戶如何訪問數據庫;
用戶需要什麼權限;
數據庫裏的數據如何分組;
哪些數據最經常被訪問;
全部數據與數據庫如何關聯;
採取什麼措施保證數據的正確性;
採取什麼措施減少數據冗餘;
採取什麼措施讓負責維護數據的用戶更易於使用數據庫。
2)數據冗餘
數據應該沒有冗餘;這意味着重複的數據應該保持到最少。
3、規格形式
規格形式是衡量數據被規格化級別(或深度)的一種方式。數據庫的規格化級別是由規格形式決定的。
下面是規格化過程中最常見的3中規格形式:
第一規格形式;
第二規格形式;
第三規格形式。
1)第一規格形式
第一規格形式的目標是把原始數據分解到表中,在所有表都設計完成之後,給大多數表或全部表設置一個主鍵。
2)第二規格形式
第二規格形式的目標是提取對主鍵僅有部分依賴的數據,把它們保存到另一個表裏。
3)第三規格形式
第三規格形式的目標是刪除表裏不依賴主鍵的數據。
4、命名規範
5、規格化爲數據庫帶來了很多好處,主要包括以下幾點:
更好的數據庫整體組織性;
減少數據冗餘;
數據庫內部的數據一致性;
更靈活的數據庫設計;
更好的處理數據庫安全;
加強引用整體性的概念。
6、規格化的缺點:
降低數據庫性能。
二、去規格化數據庫
去規格化是修改規格化數據庫的表的構成,在可控制的數據冗餘範圍內提高數據庫性能。