數據庫設計之ER圖、三大範式


 

ER圖

Entity Relationship,實體關係圖
在這裏插入圖片描述

1、先畫出所有實體,矩形圈出來

2、再畫出每個實體的屬性,橢圓圈出來,實體、屬性之間實線連接,作爲主鍵的屬性可以畫一條下劃線。

3、實體之間用菱形標註聯繫,並標註關聯關係:一對一(1,1)、一對多(1,n),多對多(m,n)。

 

關聯關係

  • 1對1:1個人只對應1張身份證,1張身份證也只對應1個人,2個都是1對1
  • 1對多,1個用戶可以擁有多個訂單,1個訂單隻能屬於1個用戶,1個1對多、1個1對1
  • 多對多:1種商品可以屬於多個訂單,1個訂單可以有多種商品,2個都是1對多

 

數據庫三大範式

數據庫有8種範式(Normal Form),通常只用到前3種範式:第一範式(1NF)、第二範式(2NF)、第三範式(3NF),我們設計的關係數據庫要滿足這3種範式。
 

1NF  屬性的原子性(不可再分)
數據庫中的每一個字段都要是不可再分隔的
 

2NF  屬性完全依賴於主鍵
一張表中的每一條記錄都要是可區分的,只通過主鍵來區分,一張表必須要有一個unique字段作爲主鍵。

第二範式建立在第一範式的基礎上,滿足第二範式必須要先滿足第一範式。
 

3NF  屬性不能有依賴傳遞(不依賴於主鍵之外的其它屬性)
比如tb_student存儲學生信息,學生成績這個字段依賴於課程,課程依賴於課程id,tb_student的主鍵是學生id,表中的記錄都只能依賴於學生id,成績依賴於課程id,依賴的是主鍵之外的字段,所以要劃出去,單獨用一張表來存儲學生成績。

第三範式建立在第二範式的基礎上,滿足第三範式需要先滿足第二範式。

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