資料庫設計

2021-09-24 05:41:24 字數 1394 閱讀 9547

資料庫設計的作用

隨著專案規模變大,設計變得越來越重要!

良好的資料庫設計:能節省資料庫的儲存空間、能夠保證資料的完整性、方便進行資料庫應用系統的開發;

糟糕的資料庫設計:會產生資料冗餘、儲存空間浪費、記憶體空間浪費、資料更新和插入的異常。

需求分析 明確甲方意圖

概要設計 e-r圖

詳細設計 利用三大正規化進行完善 規範化

**編寫 構建真實的資料庫 新增測試資料

軟體測試 測試資料庫是否能滿足真實的場景需求

安裝部署 試執行階段

生產環境使用

​ 小步快跑,快速迭代(更新)

​ 敏捷開發 devops

1.需求分析資訊

1.1與有關人員進行溝通、座談 詳細了解相應的需求

1.2標識實體 儲存各類資訊

旅客資訊、客房資訊

1.3 標識實體屬性

旅客:編號、姓名、性別、身份證號、手機號、入住時間、退房時間、押金、消費總金額、入住客房

客房:編號、客房號、客房型別、客房床位數、客房入住數、客房狀態

1.4 旅客入住客房(實體關係分類)

2.概要設計 e-r圖繪製

實體間關係的分類

一對多 多對一

客房和客人屬於一對多

多對多學生和課程 商品和訂單

對多對多進行拆分為兩個一對多

學生和課程屬於多對多 但是往往除了學生表和課程表之外會建立中間表

中間表學生資訊 課程資訊

1 11 2

2 3一對一 因為這種關係完全可以放在一張表中

身份證唯一屬於乙個公民

詳細設計 先進性規範化 然後進行模型圖繪製

1.確保每列的原子性 即一張表中的每個字段儲存的資訊必須足夠單一

2.一張表只能表示一件事 如果在一張表中描述過多的事情 會導致資料冗餘和不完整

3.表的字段之間不允許出現傳遞依賴

a -> b -> c a和c就是傳遞依賴

可以到時候將傳遞依賴的資訊抽取到多張表或者一張資料字典表

資料字典表:

​ 型別:大床房、雙人間、單人間、豪華雙人間…

​ 客房狀態:已預定、已入住、空閒

​ 酒店設施:有無早餐、有無空調、有無外窗、有無wifi、有無停車位

規範化和實際效能/複雜度等方面的關係

為了降低查詢複雜度和提公升效能:

允許一定的冗餘

允許一些特別的計算列

根據實際情況和需求決定規範和效能的取捨。

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...