【數據庫】三大範式

  • 範式
    • 爲了建立冗餘較小、結構合理的數據庫,設計數據庫時必須遵循一定的規則。在關係型數據庫中這種規則就稱爲範式。
    • 範式是符合某一種設計要求的總結。要想設計一個結構合理的關係型數據庫,必須滿足一定的範式。

在實際開發中最爲常見的設計範式有三個:

第一範式

在任何一個關係數據庫中,第一範式(1NF)是對關係模式的基本要求,不滿足第一範式(1NF)的數據庫就不是關係數據庫。

第一範式是指數據庫表中的所有字段值都是不可分解的原子值。即實體中的某個屬性不可再有多個值或屬性。

例如電話號碼可以分爲固定電話和移動電話兩個屬性;地址可以分爲省、市、區、街道等多個屬性來方便查詢。當然了,第一範式的合理遵循需要根據系統的實際需求來定。

第二範式

第二範式在第一範式的基礎之上更進一層。第二範式需要確保數據庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)。也就是說在一個數據庫表中,一個表中只能保存一種數據,不可以把多種數據保存在同一張數據庫表中。這樣設計,在很大程度上減小了數據庫的冗餘以及避免更新異常等問題。

第三範式

第三範式在滿足第二範式的基礎上,需要確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關,即不能傳遞依賴於主鍵。簡而言之,第三範式就是屬性不依賴於其它非主屬性。這樣的設計同樣可以有效地減少數據冗餘。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章