1. 程式人生 > 資料庫 >探究-關係資料庫設計正規化

探究-關係資料庫設計正規化

關係型資料正規化目前有六種:
第一正規化(1NF)
第二正規化(2NF)
第三正規化(3NF)
巴斯-科德正規化(BCNF)
第四正規化(4NF
第五正規化(5NF,又稱完美正規化)

最常用的就是三大正規化即前三種正規化

第一正規化:(每列保持原子性)
在次正規化中,對於新增一個規範要求,每一列都是不可分割的原子資料項
栗子:學號對應學號20172104 性別對應男 姓名對應喬伊 學校對應早稻田大學

第二正規化:(每列與主鍵相關)
建立在第一正規化之上,並且確保資料庫中每一列都與主鍵相關;
即一個數據庫表中只能儲存一種資料,不可以把多種資料儲存在同一張資料庫表
栗子:在訂單資訊表中既有客戶資訊又有商品資訊就違反了第二正規化,符合即要拆分


第三正規化:(每列與主鍵直接相關,區別於聯合主鍵的間接相關)
在第二正規化的基礎上,並且確保每列資料都與主鍵直接相關,而不是依靠聯合主鍵產生簡介相關
栗子:訂單表中有對該訂單直接負責的業務人員和直接下單的客戶編號,
但是不能有別的關於客戶的其它資訊,如客戶地址等
因為客戶屬於單獨的一張資料庫表,從而不能直接與訂單id產生聯絡。