訂單是 orders,訂單內容則是 order_items。
商品 則需要先和客戶或老闆確認:公司商品是否有分規格?
所謂規格,例如服飾有 S、M、X、L 等尺寸,或紅、橙、黃、綠、藍等顏色;若有 N 種顏色與 M 種尺寸,就會產生 N × M 種規格。化妝品的 30ml、60ml,也屬於不同規格。
若商品有分規格,就需要 products 與 product_variants 兩張資料表。order_items 就需要記錄 product_variant_id。
如果公司商品不分規格,每個商品只有單一型態,就不必增加 variant 的複雜度,直接使用 products 即可。
variant 中文常稱為「變體」,用來表示商品規格。Shopify 採用通用架構,因此即使商品未建立規格,每個商品預設仍會有一個 variant。不過,替中小企業開發電商時,若確定商品沒有規格,可以適度簡化設計。
兩種設計的核心差異,在於 SKU、價格與庫存等必要欄位,要放在 products 還是 product_variants。因此,商品與訂單的關聯設計,取決於公司商品是否有規格,這必須在一開始就確認。
可以參考 Shopify,但不必完全照做,應依臺灣實際情況調整。
記住:商品分規格時會用到的英文單字是 variant,也就是變體。