軟件開發流程(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):多對多關系
將雙方的關鍵字納入到新的一方(第三方)作為外鍵,如果關系中有屬性的,也一並納入。
例如:
老師(編號,名字)
課程(課程編號、課程名稱、課程說明)
---------》
老師(編號,名字)
課程(課程編號、課程名稱、課程說明)
授課:(老師編號、老師名字、課程編號、課程名字、課程說明)
數據的規范化
三大范式,最小冗余的表結構。
第一范式:確保每列的原子性。每列不可以在進行分割。
原子性:每列都是不可再分的最小單元。
第二范式: 滿足第一范式,除了逐漸以外的列都依賴於該主鍵.
一張表只描述一件事.
第三范式: 滿足第二范式,除了主鍵以外的列都不傳遞依賴於主鍵列.
除了主鍵以外的其他列都不傳遞依賴與主鍵列