資料庫 三大正規化

foresttree發表於2019-05-25

整理了下網上關於三大正規化的IDEA ..

三大正規化

第一正規化 :
所謂第一正規化(1NF)指的是在關係模型中,對列新增的一個規範要求,所有的列都應該是原子性的,即資料庫表的每一列都是不可分割的原子數字項,而不是集合、陣列、記錄等非原子資料項。

雖然第一正規化要求各列要儲存原子性,不能再分,但是這種要求和我們的需求是相關聯的。


第二正規化 :
所謂第二正規化(2NF)指的是在(1NF)的基礎上,非Key屬性必須完全依賴於主鍵,要求實體的屬性完全依賴於主關鍵字。

所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關係。


第三正規化 :
第三正規化(3NF)的目標就是確保表中各列與主鍵列直接相關,而不是間接相關。即各列與主鍵列都是一種直接依賴關係,則滿足第三正規化。

第三正規化的目標就是確保表中各列與主鍵列直接相關,而不是間接相關。即各列與主鍵列都是一種直接依賴關係,則滿足第三正規化.


總結:
1NF: 欄位是最小的的單元不可再分
2NF:滿足1NF,表中的欄位必須完全依賴於全部主鍵而非部分主鍵 (一般我們都會做到),一張表的欄位必須是跟主鍵相關的,不把無關資料放進來。
3NF:滿足2NF,非主鍵外的所有欄位必須互不依賴,就是各種資訊只在一個地方儲存,不出現在多張表中。
4NF:滿足3NF,消除表中的多值依賴。


相關文章