數據庫表結構設計之三大范式(Normal Form)
在設計數據庫的表結構時,一般要遵循三大范式。何為范式,就是數據庫設計的某一種級別的關系模式,范式能降低數據的冗余和減少維護與數據變動時產生的異常,后者的根本原因是數據的冗余引起的
- 第一范式(1NF)——表中字段不可分
表中字段不可分,也就是字段屬性是不能再分解成二個及以上的屬性,其實,在任何一個關系數據庫中,第一范式(1NF)是對關系模式的基本要求,不滿足第一范式(1NF)的數據庫就不是關系數據庫。
- 第二范式(2NF)——非主鍵字段依賴主鍵中的全部字段(對于關聯主鍵來說)
要滿足第二范式,首先必須滿足第一范式。另外,第二范式只是對于關聯主鍵來說的,單一字段構成的主鍵必然是滿足第二范式的。當主鍵為關聯主鍵時,非主鍵字段必須依賴主鍵中所有的字段,不能只依賴于其中一部分或者干脆全部不依賴,這樣是不滿足第二范式要求的。
- 第三范式(3NF)——非主鍵字段不傳遞依賴于主鍵
要滿足第三范式,首先必須滿足第二范式。所謂的傳遞依賴,也就是有一字段C(非主鍵字段)有如下的依賴關系:
A(主鍵字段)->B(非主鍵字段)-->C
其實也就是非主鍵字段之間沒有依賴關系,只與主鍵字段有依賴關系
【附加知識】三大鍵:超鍵、候選鍵與主鍵
詳細說明請點擊鏈接:http://blog.csdn.net/cjr15233661143/article/details/12970323