Nothing close enough? Start from a blank erd → Describe it in one paragraph.
How to use an erd template.
- 01定義 User 和 Product 實體
先建立 User(user_id、email、name、address)和 Product(product_id、name、description、price、stock)。這兩個實體是任何電子商務資料庫結構的核心。
- 02建立 Order 和 OrderItems 關係
建立與 User 關聯的 Order(一位使用者可有多筆訂單),並以 OrderItems 作為 Order 和 Product 之間的關聯表。OrderItems 儲存購買當下的數量與單價。
- 03加入 Cart 和 CartItems
將 Cart 建模為與 User 關聯的暫存訂單實體,並以 CartItems 連結 Cart 和 Product。購物車轉換為訂單是值得呈現的重要流程。
- 04納入 Payment 和 Shipping
加入與 Order 關聯的 Payment(payment_method、status、amount、transaction_id),以及 Shipping(carrier、tracking_number、estimated_delivery、status),完成交易生命週期的建模。
- 05擴充 Reviews 和 Discounts
加入 Review 實體(user_id FK、product_id FK、rating、text、date),以及 Discount 或 Coupon 實體(code、discount_type、amount、expiry),建立完整的商務平台模型。
Questions about erd templates
電子商務資料庫的核心實體有哪些?
核心實體包括 User、Product、Order、OrderItems(關聯實體)、Cart、CartItems、Payment 和 ShippingAddress。延伸實體則可加入 ProductVariant、Review、Category、Discount 和 Inventory。
如何在 ER 圖中建立商品變體(尺寸、顏色)模型?
建立一個與 Product 關聯的 ProductVariant 實體,並為每種變體維度設定屬性(size、color、SKU、stock_qty、price_modifier)。接著讓 OrderItems 和 CartItems 參照 ProductVariant,而不是直接參照 Product。
Cart 和 Order 應該建模為不同實體嗎?
對大多數設計而言,應該分開。Cart 是暫存資料,可能被放棄、修改或過期;Order 則是永久的交易紀錄。分開建模後,更容易分析購物車放棄率,也能維持訂單歷史的完整性。
如何處理每位使用者有多個配送地址的情況?
建立一個獨立的 Address 實體,並將它與 User 關聯(一位使用者可有多個地址)。Order 再透過 shipping_address_id 外鍵參照 Address,這樣即使使用者日後更新個人資料,也能保留購買當下的地址。
如何在電子商務資料庫結構中建立折扣碼模型?
建立 Discount 實體(code、type:percentage/fixed、value、min_order_amount、expiry、max_uses),並透過 applied_discount_id FK 與 Order 關聯。這樣可以記錄每筆訂單結帳時套用的折扣。