SQL筆記(4)_第四章 規格化過程

第四章 規格化過程
1.規格化數據庫
規格化就是去除數據庫裏冗餘數據的過程,在設計和重新設計數據庫時使用。它是一組減少數據冗餘來優化數據庫的指導方針,具體的方針被稱爲規格形式。對於初學者來說過於複雜。
2.原始數據庫,數據庫的邏輯設計(邏輯建模)(應該減少甚至完全消除數據重複)
3.規格形式:
規格形式是衡量數據庫被規格化級別(或深度)的一種方式。
數據庫的規格化級別是由規格形式確定的。

4.最常見的3中規格形式:

(1)第一規格形式

第一規格形式的目標是把原始數據分解到表中。在所有表都設計完成之後,給大多數表或全部表設置一個主鍵。

概念:主鍵也可以由表裏的多個列組成。自然主鍵:數據庫自然產生的具有邏輯意義的數據,例如書名和ISBN編號。

(2)第二規格形式

第二規格形式的目標是提取對主鍵僅有部分依賴的數據把它們保存到另一個表裏。

第二規格形式是以第一規格形式爲基礎,把兩個表進一步劃分爲更爲明確的單元。

(3)第三規格形式

第三規格形式的目標是刪除表裏不依賴於主鍵的數據。

5.命名規範

6.規格化的優點

  • 更好的數據庫整體組織性
  • 減少冗餘數據
  • 數據庫內部的數據一致性
  • 更靈活的數據庫設計
  • 更好的處理數據庫安全
  • 加強引用整體性的概念

引用的完整性一般是通過主鍵和外鍵來控制的。

規格化過程把數據從邏輯上分解爲由主鍵引用的子集,從而有助於加強和堅持這種約束。

7.規格化的缺點:

降低數據庫性能

8.去規格化數據庫

去規格化是修改規格化數據庫的表的構成,在可控制的數據冗餘範圍內提高數據庫的性能。

嘗試提高性能是去規格化數據庫的唯一原因。去規格化的數據庫與沒有進行規格化的數據庫不一樣,去規格化是在數據庫規格化基礎上進行一些調整,因爲規格化的數據庫需要頻繁的進行表的結合而降低了性能。去規格化會把一些獨立的表結合成在一起,或是創建重複的數據,從而減少在數據檢索時需要結合的表的數量,進而減少所需的I/O和CPU時間。

Q:數據庫問題需要進行一定程度的規格化,但到什麼程度才不至於嚴重影響性能呢?


發佈了20 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章