我們以後會碰到各種各樣的資料模型,有些資料模型可能有上百張表,但是資料模型的分析思路都是一樣的。所以這篇文章重點在於去掌握資料模型的分析思路。
我們先給出資料模型分析的思路:
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表建立 關係。
資料模型分析圖如下:
訂單(一) 準備訂單資料
準備訂單資料 在pages cart index.vue中 methods return list topay function return 2 判斷使用者是否登入,如果沒有就跳轉到登入授權頁面 let token wx.getstoragesync mytoken if token 3 跳轉到授...
儲存訂單資料庫表
1.我是用powerdesigner設計的,分為兩個表,ordername為外來鍵,設定外來鍵時出了點小插曲,這裡不羅嗦了,如圖 2.樣品單類直接封裝這兩個表的資料 public class order public order string from,string to,string ordert...
購物車與訂單資料儲存
購物車資料與訂單資料是分兩套表儲存還是在同一套表裡儲存通過不同的狀態來做區分?ibm wcs 將購物車資料與訂單資料放在一張表中,從實現的車層面來看,我覺得是個好的選擇,原因如下 1 購物車裡面存放了購買的商品 商品數量 資訊 優惠資訊,與訂單的儲存結構 資料是相同的,是可以放在一起的,不是強制放在...