三大范式是為了了更好的設計數據庫
1.?所謂第一范式(1NF)是指在關系模型中,對列添加的一個規范要求,所有的列都應該是原子性的,即數據庫表的每一列都是不可分割的原子數據項,而不能是集合,數組,記錄等非原子數據項。即實體中的某個屬性有多個值時,必須拆分為不同的屬性。
2.?在1NF的基礎上,非Key屬性必須完全依賴于主鍵。第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數據庫表中的每個實例或記錄必須可以被唯一地區分。選取一個能區分每個實體的屬性或屬性組,作為實體的唯一標識。第二范式主要針對聯合主鍵,一些列只依賴于聯合主鍵中的部分列
3.?第三范式是在第二范式基礎上,更進一層,第三范式的目標就是確保表中各列與主鍵列直接相關,而不是間接相關。即各列與主鍵列都是一種直接依賴關系,則滿足第三范式。
第三范式要求各列與主鍵列直接相關,我們可以這樣理解,假設張三是李四的兵,王五則是張三的兵,這時王五是不是李四的兵呢?從這個關系中我們可以看出,王五也是李四的兵,因為王五依賴于張三,而張三是李四的兵,所以王五也是。這中間就存在一種間接依賴的關系而非我們第三范式中強調的直接依賴。
?
可以參考
http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html
?
?
參考:http://www.cnblogs.com/best/p/6517755.html