我正在添加捆綁功能以檢出用戶可以以折扣價格選擇自己的定製捆綁產品。因此,捆綁產品的數量是動態的。數據庫設計:如何記錄捆綁產品遞送
我有以下的現有DB模式:(ID(PK),金額,日期時間等)
產品(ID(PK),名稱,價格,等...)
交易
交貨(ID(PK),TRANSACTION_ID(FK transaction.id),PRODUCT_ID(FK product.id),折扣,等等。)
假設情況
捆綁 - 產品(1,2)
捆綁B - 產品(3,4)
一個事務包含捆綁包A和B.產品(1,2,3,4)交付時具有相同的transaction_id。
既然如此,與目前DB模式沒有辦法知道以下幾點:
1.當時產品交付成捆
2.在產品捆綁
將BOOL'捆綁'列添加到交貨表中可確定交易中交付的產品是捆綁在哪個產品中,哪些不是,但如果某個交易包含多個捆綁,則無法知道哪些產品捆綁在一起。
可以創建事務特定的包ID。捆綁A(ID 1),捆綁B(ID 2),該捆綁對交易是唯一的,並針對每個交付的捆綁產品進行記錄。這似乎是一個奇怪的方式,但它做到了。這就提出了一個問題:
捆綁ID是否應該在所有交易中都是唯一的?如果是這樣,你只需簡單地創建一個捆綁表來創建一個唯一的捆綁ID?
您認爲解決此問題的最佳方法是什麼?