1. 程式人生 > >電商資料庫設計及優化學習筆記彙總

電商資料庫設計及優化學習筆記彙總

一、背景

這是我學習高效能可擴充套件的MySQL設計及架構優化的學習筆記,學習過程中還有很多不懂的地方,特別是負載均衡的問題,先跟著老師的節奏記下來。
課程設計電商常用的功能模組的資料庫設計,常見問題的資料庫解決方案。
專案背景:設計一個電商資料庫,完成正常購物。

二、準備工作

MySQL例項,推薦使用最新的版本。
MySQL圖形客戶端程式,我用的是Navicat 12
Linux命令和shell指令碼的基礎知識

三、操作

根據業務需求,整個系統可以分為四個模組:
使用者模組:完成使用者註冊和登入驗證
商品模組:前後臺商品管理和瀏覽
訂單模組:訂單及購物車的生成和管理
倉配模組:倉庫庫存和物流的管理
1、資料庫設計規範


我把這一塊的筆記整理在這裡
2、使用者模型設計
資料庫的設計正規化
設計正規化是資料庫設計的規範,如第一正規化、第二正規化、第三正規化等,資料庫設計最低要滿足第三正規化的要求。
第三正規化(3NF)
定義:一個表中的列和其他列之間既不包括部分函式依賴關係,也不包含傳遞函式依賴關係,那麼這個表的設計就符合第三正規化。
這裡其實前半句是第二正規化的要求,第三正規化是在第二正規化基礎上再增加了要求的。
如果表不符合第三正規化的要求時的修改方法:
*拆分原使用者表以符合第三正規化
*儘量做到冷熱資料分離,減小表的寬度
可以分成使用者登入表(登入名,密碼,狀態)、使用者地址表(省,市,區。。。),使用者資訊表(姓名,聯絡方式,積分,級別。。。)
分割槽表-常用分割槽介紹和增刪分割槽

使用者實體模組設計
商品實體模組設計
訂單和倉配實體模組設計
3、常見業務處理
介紹了幾種常見業務的處理方法,包含了刪除重複資料、優化分頁查詢、分割槽間查詢和使用慢查詢日誌捕獲問題等等。
整理在這裡

4、資料庫備份和恢復
這節學了資料庫備份與恢復,學到了常用的資料庫備份工具的基本用法,還有資料庫全備啊增量備份啊全備恢復啊之類的內容,筆記在這裡
5、讀寫分離和負載均衡
這部分學習瞭解決讀寫分離和負載均衡的思路,前面其它部分,特別是資料庫結構設計,我還是掌握了挺多的,這裡就厲害了,我基本上都沒看懂~但是也先記下來

四、小結

從分析業務模組,到設計架構,處理業務,優化資料庫,整個資料庫設計和維護的流程,學到很多在實踐中很實用的東西,但是這幾天的學習是遠遠不夠的,所以不管懂的還是不懂的,能記的筆記都先記下來,以後對這些內容有更深的認識了再來更新,有不懂的再來複習。