追加情報を追加するために e コマース システムに変更を加える必要があり、この機会に改善を加えてより柔軟にしたいと考えました。顧客が注文すると、注文された各アイテムとともにいくつかの情報アイテムを保存する必要があります。たとえば、商品価格、配送料、徴収された税金、行われた調整などです。
次のように、これらのフィールドを個別に保存する必要があるかどうかを議論しています (単純化された例):
ORDER_LINE_ITEM
OrderLineItemID
ProductID
Qty
Price
Shipping
Handling
SalesTax
Adjustment
たとえば、顧客が支払った合計金額を計算できます。
SELECT Qty*(Price+Shipping+Handling+SalesTax) As TotalCollected FROM ORDER_LINE_ITEM
または、より間接的な構造を使用する必要がある場合:
ORDER_LINE_ITEM
OrderLineItemID
ProductID
Qty
ORDER_LINE_ITEM_ENTRIES
OrderLineItemEntryID
OrderLineItemID
EntryType
Value
例えば:
1 | 1 | Price | $10
2 | 1 | Shipping | $5
3 | 1 | Handling | $1
4 | 1 | SalesTax | $1
5 | 1 | Adjustment | -$3.50
これの利点は、後でテーブル スキーマを変更せずに追加情報を保存できることです。ただし、情報の取得とレポートの実行は、より複雑で遅くなります。
この情報を注文/請求データベースに保存するためのベスト プラクティスはありますか?
前もって感謝します、
ダン