資料庫設計正規化概要

2021-10-12 01:47:47 字數 842 閱讀 8377

在邏輯設計中,對於同乙個實體的儲存,可以有多種不同的設計的方式。

比如使用者實體跟購物車實體,可以將使用者資訊和購物車資訊儲存在同一張表中,也可以分別儲存在不同的表中。兩種方式哪一種更好一些呢?實際上就要通過一些,資料庫設計的一些規範來進行選擇,這也就是資料庫設計的正規化。

符合規範所設計的資料庫

不符合這種規範式的設計

簡潔高效、結構清晰

存在大量的資料冗餘,浪費大量儲存空間

避免資料的維護異常

存在資料的插入、更新、刪除的異常

最大限度避免資料庫的冗餘

常見的資料庫設計正規化:

第一正規化、第二正規化、第三正規化 以及 bc 正規化。

當然還有第

四、第五方式,不過在這側重點放在前三個正規化上,這也是目前大多數資料庫設計所要遵循的正規化。

如果資料庫設計中存在著大量的操作異常和資料冗餘,那麼這個設計就不符合資料庫正規化要求

資料操作異常包括:

異常分類

說明插入異常

如果某實體伴隨另乙個實體的存在而存在,當缺少某個實體時無法表示另乙個實體時,那麼這個表就存在插入異常

更新異常

如果更改表所對應的某個實體例項的單獨屬性時,需要將多行更新,那麼這個表就存在更新異常

刪除異常

如果刪除表的某一行來反映某實體例項,失效時導致另乙個不同實體例項資訊丟失,那麼這個表中就存在刪除異常

會導致在插入或者更新的時,可能會更新到其他並不應該更新,或者說並不應該刪除的資料。

指相同的資料在多個地方存在,或者表中的某個列可以由其他列來計算得到,這樣表中就存在著資料的冗餘。

導致對資料的一致性的維護造成很大的不便,漏掉某張表維護困難會導致資料一致性的異常。

資料庫設計正規化

目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 第四正規化 4nf 第五正規化 5nf 和第六正規化 6nf 滿足最低要求的正規化是第一正規化 1nf 在第一正規化的基礎上進一步滿足更多要求的稱為第二正規化 2nf 其餘正規化以次類推。一般說來,資料庫只需滿...

資料庫設計正規化

前言 為什麼要寫這篇文章呢,從去年年底開始,就和很多做技術的朋友交流過,從資料庫設計到資料庫架構各個方面的內容。有一些朋友執著於orm,執著於所謂的資料庫設計,卻忘記了一切技術是要為業務服務這個基石。當然這文章裡也有一些自己的理解,想向大家表達。正規化是什麼 正規化是符合某一種級別的關係模式的集合。...

資料庫正規化設計

在軟體開發過程中,資料庫的設計是非常重要的。可以說,良好的資料庫設計,是對使用者需求的理解的精準定位。它不僅能夠使得軟體開發起來非常便捷,而且還能夠使軟體系統高效執行,同時,為日後的維護或者更換資料庫提供便利。在最近開發系統的過程中,感覺收穫最大的也是關於資料庫的操作。最初開發機房收費系統的時候,由...