數據庫設計及ER模型


 

數據庫設計

1.第一范式(確保每列保持原子性)

基本的范式,保證數據庫表中的所有字段都不可再分解。

2.第二范式(確保表中的每列都和主鍵相關)

在第一范式的基礎上,第二范式需要表中的每一個字段都和主鍵相關,也就是說只能存在一種類型的數據。不可把多種類型數據放在一個表中。

3.第三范式(確保每列都和主鍵列直接相關,而不是間接相關)

在滿足前兩個范式的基礎上,第三范式需要確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關。

 

  • 1.1第一范式

錯誤:表中的字段還可以再次分解,再拆。

正確:表中字段不可以再分解。

  •  第二范式  

錯誤:表中訂單號和商品id是主鍵,表中的字段沒有和所有主鍵關聯,再拆分

正確:表中的無關聯的字段重新創建表,每一個表中的所有字段都和主鍵相關聯

  • 第三范式

錯誤:表中的客戶信息和商品信息無直接關聯,再拆

 再拆:將間接關聯的信息再創建表,每個表的字段信息都是直接關聯的

 

  • 最終實現的目標

 

E-R模型

E-R模型的基本元素是:實體、聯系和屬性

  • 實體:現實生活中任何可以被認知,區分的事物。

  • 聯系:實體之間的關系,可以一點一,一對多喲,多對多。

  • 屬性:實體的某一特性稱為屬性。

關系也是一種數據,需要通過一個字段存儲在表中

1、一對一:一對一關系是最好理解的一種關系,主鍵可以設置為在兩個表中的任意一個表

在數據庫建表的時候可以將人表的主鍵放置與身份證表里面,也可以將身份證表的主鍵放置於人表里面

                      

2、一對多:主鍵應存放在多的表中

1端是父親,多端是兒子,所以多端具有1端的屬性,也就是說多端里面應該放置1端的主鍵,那么學生表里面應該放置班級表里面的主鍵

  •  

 

 

   

 

3、多對多:新建一張表C,這個表只有兩個字段,一個用於存儲A的主鍵值,一個用於存儲B的主鍵值

對於多對多關系,需要轉換成1對多關系,那么就需要一張中間表來轉換,這張中間表里面需要存放學生表里面的主鍵和課程表里面的主鍵,此時學生與中間表示1對多關系,課程與中間表是1對多關系,學生與課程是多對多關系

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM