資料庫設計總結
資料庫設計總結:
第一次寫部落格,剛學了資料庫設計,簡單回顧總結一下。
寫在前面,瞭解一下專案開發流程:
1.需求調研----系統邊界
2.需求文件
3.原型設計—UI,HTML頁面
4.設計資料庫
5.後臺開發,公共程式碼編寫
6.功能編碼
1.資料庫的三正規化:
第一正規化:保持屬性的原子性,概念分的不能再分,如姓名可分為姓和名,所以姓名不滿足第一正規化。
第二正規化:所有列依賴於主鍵,一個表只描述一件事情。
第三正規化:每一列直接依賴於主鍵
如:A依賴於B,B依賴於C,在數學上我們可以認為A依賴C,但在資料庫違反第三正規化。
注:只有主鍵才能設定自動增長,自動增長一定是主鍵,而主鍵不一定自動增長。
2.E-R圖:資料庫關係圖,用來描述現實世界的概念模型。
使用E-R圖的好處:
(1)方便梳理表與表的關係
(2)可以快速生成sql建庫指令碼
小發現:
可以先使用流程圖梳理各角色各模組之間的關係,再使用E-R畫出表之間的關係,效果更佳。
3.資料庫設計步驟:
(1)標識表
(2)標識表的欄位
(3)標識表與表之間的關係
4.表的關係:由需求決定。
(1)型別:一對一,一對多,多對一,多對多。
(2)資料庫中沒有直接多對多關係的存在,原因是資料庫裡面的欄位不能儲存集合。
實現多對多的方式:a.使用中間表 b.表中欄位之間用逗號
5.冗餘可能會帶來的問題:
(1)資訊重複
(2)更新異常
(3)插入異常
(4)刪除異常:在某些特定情況下,當刪除一行時,可能會丟失有用的資訊
6.資料庫設計原則:
設計資料庫的時候應儘量符合三大正規化,避免資料的冗餘,但有時為了資料庫的訪問效能,允許適當的冗餘
如:商品表中的金額欄位,可分解為單價*數量 ,說明金額是冗餘項,不符合第一正規化,但從業務邏輯考慮,增加金額欄位,可以提高查詢速度,使用的目的是為了提高處理速度。
有寫的不好的地方還望大家海涵。
相關文章
- MySQL 資料庫設計總結MySql資料庫
- 資料庫程式設計方法總結資料庫程式設計
- MySQL資料庫基本設計規範總結MySql資料庫
- 資料庫總結資料庫
- MySQL資料庫六大設計規範總結1MySql資料庫
- 【資料庫設計】資料庫的設計資料庫
- MySQL資料庫總結MySql資料庫
- 附加資料庫總結資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- 資料庫面試題總結資料庫面試題
- 【轉】Qt資料庫總結QT資料庫
- 資料庫設計資料庫
- 元件庫通用樣式設計總結元件
- 【Web總結】資料庫系統Web資料庫
- 資料庫效能優化總結資料庫優化
- 資料庫分庫分表的總結資料庫
- 資料建模與框架設計的暫時總結框架
- Redis設計與實現閱讀總結(二)單機資料庫的實現Redis資料庫
- 資料庫設計技巧資料庫
- 資料庫表設計資料庫
- 資料庫原理-設計資料庫
- 資料庫設計(1)資料庫
- KMC資料庫設計資料庫
- oceanbase資料庫比賽總結資料庫
- 資料庫常見面試題總結資料庫面試題
- 關於資料庫鎖的總結資料庫
- 資料庫靜默安裝總結資料庫
- MongoDB的分片資料庫命令總結MongoDB資料庫
- Oracle資料庫效能優化總結Oracle資料庫優化
- oracle 資料庫安裝思路總結Oracle資料庫
- 電商系統商品資料表設計分析與總結
- 資料庫實驗八 資料庫程式設計資料庫程式設計
- 資料庫實驗五:資料庫程式設計資料庫程式設計
- 資料庫設計中使用設計模式資料庫設計模式
- Oracle資料庫Table,Index,Database分析統計資料方式總結及注意點(zt)Oracle資料庫IndexDatabase
- 資料庫設計---即資料庫架構設計的幾個步驟資料庫架構
- Android 開發資料總結--響應式程式設計Android程式設計
- 資料庫視訊總結,塵埃落定資料庫