mysql中數據庫的設計


 

軟件開發流程(CMMI):

1):項目啟動;

2):項目計划:

3):需求分析; 需要得到的結果是什么?

4):系統設計;         該怎么做?

5):系統開發;

6):系統測試;

7):系統部署維護

 

軟件項目開發周期中的數據庫設計

需求分析階段:      分析客戶的業務設計和數據處理需求

概要設計階段:      設計數據庫的E-R模型圖,確認需求信息的正確和完整

詳細設計階段:      應用數據庫三大范式審核數據庫結構

代碼編寫階段:      物理實現數據庫,編碼實現應用

軟件測試...................

設計數據庫的步驟:

1):收集信息:           充分了解用戶需求,理解數據庫需要完成的任務

酒店:

客人可以住哪兒房間

 

2):標識實體:           標識數據庫要管理的關鍵對象

酒店實體:

客人

房間

 

3):標識實體的屬性:     標識數據庫要管理的對象的屬性

客人:       姓名、身份證、房間號、入住日期、結賬日期、押金、總金額

房間:      房間號、房間名稱、床位數、房間狀態、入住人數、客人類型、價格

 

4):標識實體與實體之間的關系

跟房間的關系:客人入住房間

 

繪制E-R圖(實體關系圖)

組成:

1):實體(使用矩形表示)

2):屬性(使用橢圓表示)

3):關系(使用菱形表示)

 

 

繪制E-R圖工具:Power Designer(推薦)

 

 

 

E-R圖的映射基數

一對一

一對多(多對一)

多對多

 

酒店管理系統E-R圖

 

 

將E-R圖轉換成數據模型

1):一對一關系

將一方的主關鍵字納入到另一方作為外鍵。如果關系中有屬性的,也一並納入。

例如:(一個倉庫,一類商品)

倉庫(名字)

商品(編號、類型)

------》

倉庫(名字)

商品(編號、類型、倉庫名字)

2):一對多關系

將一方的主關鍵字納入到多方作為外鍵。如果關系中有屬性的,也一並納入。

例如:(一個倉庫,多個商品)

倉庫(編號、名字、狀態)

商品(編號、類型、價格、生產日期等等)

--------》

倉庫(編號、名字、狀態)

商品(編號、類型、價格、生產日期等等、倉庫編號、倉庫名字)

3):多對多關系

將雙方的關鍵字納入到新的一方(第三方)作為外鍵,如果關系中有屬性的,也一並納入。

例如:

老師(編號,名字)

課程(課程編號、課程名稱、課程說明)

---------》

老師(編號,名字)

課程(課程編號、課程名稱、課程說明)

授課:(老師編號、老師名字、課程編號、課程名字、課程說明)

 

 

數據的規范化

三大范式,最小冗余的表結構。

第一范式:確保每列的原子性。每列不可以在進行分割。

原子性:每列都是不可再分的最小單元。

第二范式: 滿足第一范式,除了逐漸以外的列都依賴於該主鍵.

一張表只描述一件事.

第三范式: 滿足第二范式,除了主鍵以外的列都不傳遞依賴於主鍵列.

除了主鍵以外的其他列都不傳遞依賴與主鍵列

 


免責聲明!

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



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