首先在這邊感謝一下無私分享公開課的老師,關於mybatis的學習都是進行視頻+碼代碼方式練習,圍繞此數據模型完成的代碼有想學習的留言我發你,相互學習。這篇文章是對訂單商品數據模型進行分析(會給出分析思路),有四張表。這篇文章是后續文章的基礎,因為后續的文章要針對這個數據模型(四張表)進行一對一,一對多,多對多進行查詢。
我們以后會碰到各種各樣的數據模型,有些數據模型可能有上百張表,但是數據模型的分析思路都是一樣的。所以這篇文章重點在於去掌握數據模型的分析思路。
我們先給出數據模型分析的思路:
1、每張表記錄的數據內容
我們分析表的時候,可以分模塊(比如用戶管理模塊,訂單模塊等等)對每張表記錄的內容進行熟悉,這樣就相當於你學習系統需求(功能)的過程。
2、每張表重要的字段設置
每張表中哪些字段是重要的呢:非空字段、外鍵字段
3、數據庫級別表與表之間的關系
外鍵關系
4、表與表之間的業務關系
在分析表與表之間的業務關系時一定要建立 在某個業務意義基礎上去分析。
接下來給出具體案例來分析:
mybatis的數據庫下面有四張表如下:

user表:
items:
orders:
ordersdetail:
介紹一下上面每一張表的用途:
user(用戶表):記錄了購買商品的用戶信息。
orders(訂單表):記錄了用戶所創建的訂單。(購買商品的訂單)
orderdetail(訂單明細表):記錄了訂單的詳細信息即購買商品的信息。
items(商品表):記錄了商品信息。
好:我們現在開始分析上面四張表:
1.我們先去找到上面四張表中每一張表重要的字段,外鍵等。
我們經過觀察可以知道:
用戶表:user
id:自增主鍵
訂單表:orders
number:訂單號
user_id(外鍵,用戶id)
訂單明細表:orderdetail
orders_id(外鍵,訂單id)
items_id(外鍵,商品id)
商品表:items
id:自增主鍵
2.我們再去分析數據庫級別有關系的表之間的業務關系。
由上面的主鍵,外鍵之間的聯系,我們知道user表和orders表,orders表和orderdetail表,orderdetail表和items表有數據庫級別的關系
usre和orders:
user---->orders:一個用戶可以創建多個訂單,一對多
orders--->user:一個訂單只由一個用戶創建,一對一
orders和orderdetail:
orders---》orderdetail:一個訂單可以包括 多個訂單明細,因為一個訂單可以購買多個商品,每個商品的購買信息在orderdetail記錄,一對多關系
orderdetail--> orders:一個訂單明細只能包括在一個訂單中,一對一
orderdetail和itesm:
orderdetail---》itesms:一個訂單明細只對應一個商品信息,一對一
items--> orderdetail:一個商品可以包括在多個訂單明細 ,一對多
3.等上面的有數據庫級別表分析好孩子后,我們最后再去分析數據庫級別沒有關系的表與表之間有沒有業務關系。
orders和items:
orders和items之間可以通過orderdetail表建立 關系。
數據模型分析圖如下:
