摘要:數據庫范式最通俗的描述
那些數據庫的書介紹的數據庫范式,實在是晦澀難懂,我在這里給出一個通俗的描述:
1NF:一個table中的列是不可再分的(即列的原子性)
2NF:一個table中的行是可以唯一標示的,(即table中的行是不可以有重復的)
3NF:一個table中列不依賴以另一個table中的非主鍵的列,還是不通俗!巨寒!!
舉個例子吧:有一個部門的table,我們叫它tbl_department, 它有這么幾列(dept_id(pk),dept_name,dept_memo...)
有一個員工table,我們叫它tbl_employee,在這個table中有一列dept_id(fk)描述關于部門的信息,若tbl_employee要滿足3NF,
則在tbl_employee中就不得再有除dept_id列的其它有關部門信息的列!
一般數據庫的設計滿足3NF即可!(個人覺得應該盡可能的滿足3NF,一家之言^_^)
BCNF:通常認為BCNF是修正的第三范式,它比3NF又進一步!
4NF:
5NF:將一個table盡可能的分割成小的塊,以排除在table中所有冗余的數據