1. 第一正規化(指原子性,不可分割)
資料庫第一正規化是指資料庫中的每一列都是不可分割的原子值。例如設計位址欄位時,如有需求需要經常訪問位址中的城市,街道等資訊時,就要把該字段繼續分割。
2. 第二正規化(指非主屬性必須完全依賴於主屬性)
資料庫第二正規化是指所有非主屬性列都應該完全依賴於主屬性,而不是只依賴主屬性的一部分,這是在聯合主鍵的情況下。在乙個訂單表中,乙個訂單可包含多個產品,那麼該訂單表的主鍵為(訂單號,產品號),這種情況下訂單表的非主屬性必須完全依賴於該主鍵,不能存在例如產品名依賴於產品號而不依賴於訂單號的列。
3. 第三正規化(指非主屬性列必須直接依賴於主屬性,而不存在函式傳遞依賴)
資料庫第三正規化是指不能存在非屬性a直接依賴於非屬性b,非主屬性b直接依賴於主屬性的情況。
tip:
第二正規化與第三正規化很容易混淆,但需要記住的點是,2nf是指完全依賴,不存在只依賴一部分。而3nf是指直接依賴,不存在傳遞依賴。
理解資料庫設計正規化 轉
前言 為什麼要寫這篇文章呢,從去年年底開始,就和很多做技術的朋友交流過,從資料庫設計到資料庫架構各個方面的內容。有一些朋友執著於orm,執著於所謂的資料庫設計,卻忘記了一切技術是要為業務服務這個基石。當然這文章裡也有一些自己的理解,想向大家表達。正規化是什麼 正規化是符合某一種級別的關係模式的集合。...
mysql資料庫的正規化 理解資料庫正規化
第一正規化 1nf 第一正規化的核心描述為 資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。該正規化講的是列的原子性。有兩層意思 一層是說每一列只能存乙個屬性值 如果把2個屬性值存在1列中 第二層說的是在一張表中屬性值不能重複。在現代關係行資料庫中,都是預設滿足第一正規化的,所以你想...
理解資料庫設計的三個正規化
如何理解三個正規化 第一正規化 1nf即屬性的原子約束性,屬性具有原子性,怎麼理解了?我們知道原子是不能再分的,即屬性不能往下分了。比如說人作為乙個實體,姓名作為人的乙個屬性,如果系統需要把人的姓和名分開記錄。那麼就必須把姓作為人的乙個屬性,名作為人的乙個屬性。第二正規化 2nf就是記錄唯一性約束,...