設計過程
需求分析 > 邏輯設計 > 物理設計 > 維護優(yōu)化
需求分析
- 一張表需要存什么信息北秽。用戶信息有
名稱
、手機號
最筒、身份證
、年齡
- 可以做唯一標識的字段:
手機號
或身份證
- 存儲特點: 永久存儲還是會刪除
- 與其他表的聯(lián)系
邏輯設計
- 注意事項:
更新異常:更新時應該更新指定的一條
刪除異常:刪除時應該刪除指定的一條
數(shù)據(jù)冗余:數(shù)據(jù)重復出現(xiàn) - 設計范式
- 第一范式:一張表應該是一張二維表蔚叨,對應一個值
bad
名稱 | 手機號 | 用戶信息 | |
---|---|---|---|
年齡 | 地址 | ||
用戶名1 | 1322672833 | 5 | 中國 |
good
名稱 | 手機號 | 年齡 | 地址 |
---|---|---|---|
用戶名1 | 1322672833 | 5 | 中國 |
-
第二范式:消除一張表中多種依賴關系床蜘,屬性只依賴主鍵
bad
:更新異常、數(shù)據(jù)冗余
商品名稱 | 供應商 | 價格 |
---|---|---|
可樂 | 供應商1 | 30 |
可樂 | 供應商2 | 30 |
good
商品id | 商品名稱 | 價格 |
---|---|---|
1 | 可樂 | 30 |
供應商id | 供應商 | 供應商聯(lián)系方式 |
---|---|---|
1 | 供應商1 | 132234234 |
2 | 供應商2 | 144434134 |
商品id | 供應商id |
---|---|
1 | 1 |
1 | 2 |
-
第三范式: 消除一行中的字段有依賴關系
bad
商品名稱 | 價格 | 分類 | 分類描述 |
---|---|---|---|
手機 | 1 | 數(shù)碼 | 電子產(chǎn)品 |
紙巾 | 2 | 生活 | 日常用品 |
good
商品名稱 | 價格 | 分類id |
---|---|---|
手機 | 1 | 1 |
紙巾 | 2 | 2 |
分類id | 分類名稱 | 分類描述 |
---|---|---|
1 | 數(shù)碼 | 電子產(chǎn)品 |
2 | 生活 | 日常用品 |
物理設計
- 數(shù)據(jù)庫選擇:Oracle蔑水、MySql邢锯、PostgrcSQL ...
- 存儲引擎選擇: Innodb
- 表、字段命名規(guī)范:單詞_分割命名搀别、盡量不用縮寫
- 字段數(shù)據(jù)類型選擇:優(yōu)先選擇數(shù)字類型或占用字節(jié)小的
- 使用數(shù)據(jù)庫設計軟件:pdman powerdesign
維護優(yōu)化
- 維護數(shù)據(jù)字典:創(chuàng)建表增加備注丹擎、保存好使用數(shù)據(jù)庫設計軟件設計的圖形