本文章將解決三個問題:
1.數據庫設計有關概念
2.如何使用er圖
3.對於三大范式的理解
數據庫設計:
1.為什么要設計數據庫?
1.防止代碼冗余
2.防止占用不必要的內存空間
3.良好的數據庫設計可以保證數據的完整性,節省數據的存儲空間,方便數據更新,以及方便進行數據庫應用系統的開發
2.設計數據庫步驟:
1.收集數據:分析和討論用戶要求,理解數據庫實現思路
2.找出標識實體:找出數據庫要管理的實體,名詞。像java面向對象中的對象一樣
3.標識每個實體的屬性(多個)
4.標識每個實體之間的關系
如何使用er圖:
根據設計數據庫步驟找出實體的屬性以及每個實體的關系。
可以在此鏈接中繪制er圖:https://www.processon.com/,注冊登錄搜索er圖模板
er圖如圖所示:
注意作圖規范:1.長方形代表實體(對象),菱形代表實體之間的關系,圓圈(橢圓)代表實體的屬性
2. m,n 代表無限的意思m——n 代表多對多,n(或m)——1代表多對一,1——n(或m)代表一對多
三大范式:(很重要考試必考)
第一范式:要求每列都是不可再分的最小數據單元,通俗來講一列只干一件事情
第二范式:滿足第一個范式基礎之上,要求每一個表只描述一件事情,比如說學生表只描述學生相關信息
第三范式:在前兩個范式的基礎之上,要求各列必須和主鍵直接相關,不能間接相關。比如有5列數據,分別是學號,學生姓名,年齡,性別,科目,成績。其中studentid 表中可以寫學號(pk),學生姓名,年齡,性別。
score表中可以寫,學號,科目(pk),成績。每個表要寫的內容要與主鍵直接相關。