數據庫三大範式

前言:今天主要講解一下數據庫三大範式。原文:https://blog.csdn.net/wxn069/article/details/85318925#comments

範式即數據庫的一個規範方式,在日常工作過程中,我們拿到一個需求,需要先分析這個需求需要做什麼,其次如何去做? 在做的過程中可能還涉及到建表,建表需要遵循數據庫三大範式,但這不是絕對的,需求優先於規範,所以正確理解需求,建立合理的數據庫,更好的保障數據庫的性能,這是我們需要做的事。

第一範式(保證每列具有原子性,列不可再分)。

  eg:  地址這個字段,如果需求對這個字段沒有特殊要求,建立一個字段即可。 但是如果系統需要經常操作城市,或者根據城市等字段去分類,那這個時候就必須要將地址這個字段拆分  拆分成 "城市" "區縣"  等字段

第二範式( 確保表中的每一列都和主鍵相關)

第二範式建立在第一範式的基礎上,確保表中的每一列都和主鍵相關,而不是與主鍵的一部分相關,針對聯合主鍵而言,簡而言之就是一個表只能存儲同一種數據,不能將不同的數據存儲到一張表中。

eg :   一個訂單對應多個商品信息,那麼訂單表裏會存儲商品編號,但是商品名稱,商品價格等不應該存儲到訂單表中。

 

第三範式 (數據庫中的每一列和主鍵列直接相關而不是間接相關)

第三範式需要確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關。eg:   多個用戶下載訂單,可以將客戶編號存儲在訂單表中,但是客戶名稱,客戶性別,聯繫電話等不應該存儲到這張表中。

  

 

 

發佈了49 篇原創文章 · 獲贊 46 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章