資料庫設計總結
資料庫設計總結:
第一次寫部落格,剛學了資料庫設計,簡單回顧總結一下。
寫在前面,瞭解一下專案開發流程:
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資料庫六大設計規範總結1MySql資料庫
- 【資料庫設計】資料庫的設計資料庫
- MySQL資料庫總結MySql資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- 元件庫通用樣式設計總結元件
- 資料庫分庫分表的總結資料庫
- 【Web總結】資料庫系統Web資料庫
- oceanbase資料庫比賽總結資料庫
- 資料庫面試題總結資料庫面試題
- Redis設計與實現閱讀總結(二)單機資料庫的實現Redis資料庫
- PowerDesigner設計資料庫資料庫
- 2024.11.5(資料庫設計)資料庫
- KMC資料庫設計資料庫
- 關於資料庫鎖的總結資料庫
- 學術檢索資料庫總結資料庫
- 資料庫實驗五:資料庫程式設計資料庫程式設計
- 資料庫實驗八 資料庫程式設計資料庫程式設計
- IM 的資料庫設計資料庫
- 資料庫設計基礎資料庫
- Java資料庫框架設計Java資料庫框架
- 資料庫設計之思考資料庫
- 資料庫常見面試題總結資料庫面試題
- 電商系統商品資料表設計分析與總結
- Redis設計與實現閱讀總結(一)資料結構和物件Redis資料結構物件
- 【web】資料庫應用系統設計體系結構Web資料庫
- 2021秋招面試計算機基礎總結 - 資料庫,Redis面試計算機資料庫Redis
- 好程式設計師大資料教程分享HadoopHDFS操作命令總結程式設計師大資料Hadoop
- 好程式設計師大資料學習路線Hbase總結程式設計師大資料
- 資料庫高併發解決方法總結資料庫
- 資料庫管理-第128期 2023總結(202301229)資料庫
- 一次使用InfluxDB資料庫的總結UX資料庫
- 資料庫事務與 MySQL 事務總結資料庫MySql
- python資料庫-安裝問題總結(48)Python資料庫
- 【知識詳解】資料庫(秋招總結)資料庫
- 資料庫儲存選型經驗總結資料庫
- MySQL資料庫設計規範MySql資料庫
- openGauss 設定資料庫審計資料庫