2 資料表結構設計

2021-10-06 05:37:31 字數 1213 閱讀 7409

表結構

1.使用者表

使用者名稱不允許重複,所以併發的時候可以利用鎖的機制解決。

查詢某個使用者名稱是否存在,可以用同步的方法。但分布式架構該方法不可取。

所以還是通過資料庫的唯一索引btree這種方式,把username設定成唯一索引。

設定成innodb引擎?主鍵是id

2.分類表

表可以設定成遞迴,樹狀結構分類可能是無限層級擴充套件

遞迴的結束條件設定成parent_id為0時,說明是根節點,結束。

主要關注id和parent_id的聯絡

3.產品表

decimal是乙個非常精確的計算

4.購物車表

購物車會持久化(它是屬於哪個user的)

增加了user_id的索引,因為我們經常會使用非主鍵user_id進行查詢,提高該錶的查詢效率。

5.支付資訊表

6.訂單表

訂單號也加了唯一索引

7.訂單明細表

此處的user_id其實是乙個冗餘字段,可以提高查詢效率。

8.收貨位址表

表關係天藍色的表代表內部有索引

order_item和order表是多對一的關係

order_item和product是一對一的關係

表不用外來鍵,是為了以後在擴充套件分庫分表、清洗資料以及內建觸發器的時候避免麻煩。

對有些字段可以提前設定一些冗餘,比如主圖main_image。

唯一索引

唯一索引unique是為了保證資料的唯一性

單索引及組合索引

為了查詢更加快速

後悔藥-時間戳

查業務問題的後悔藥:

create_time:資料建立時間

update_time:資料更新時間(記錄最新一次更新時間)

每個表建表的時候一定要加上,要存datatime型別,不要用data,可以檢視具體的時間點。

結構設計 資料表設計 常用表結構設計

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。位址一般包括 省 市 縣 區 詳細位址 我們當然可以儲存乙個字段 使用分隔符 json 等儲存 介紹字段介紹 字段介紹 idbigint id parentid parentidlist chi...

Hbase表結構設計

一 主體思路 先確定查詢場景,再確定表結構。二 主鍵設計 主鍵設計需要考慮兩個問題 1.選擇哪些作為主鍵?2.當主鍵大於1個時,如何排列。2.1 邏輯上用於表示行的唯一性的列必須作為主鍵 2.2 單個查詢場景中一定出現的列可以考慮加入主鍵列,用於優化查詢效能 2.3 在多個查詢場景都出現的主鍵列要排...

HBase表結構設計

列簇設計 版本設計 資料壓縮 rowkey設計原則 在hbase有很多張表,這些表需要按照業務劃分開,為方便管理這些表,不同業務就有不同的命名空間,類似hive中的資料庫,不同的資料庫用來儲存不同型別的表。注 建立命名空間 create namespace momo chat 檢視命名空間列表 li...