オンラインチェックアウト用のデータベースをプロジェクトとして設計しています。これは私が最初に作ったデータベースなので、簡単に手に入ります。データベース設計ヘルプ - オンラインチェックアウトプロジェクト
とにかく、私はテーブル「アカウント」、「注文」、「ショッピングカート」、「スキュー」を持っています。アカウントには、出荷情報、名前、電話番号、電子メールなどが格納されます。主キーはaccountNumberです。オーダーは請求情報を保持します。外部キーはaccountNumberで、主キーはOrderIDです。ショッピングカートには2つの列(orderIDとskuNumber)しかありません。 OrderIDは外部キーで、skuNumberは主キーです。 SKUには、skuNumber、quanity、price、unit、およびtotalPriceの4つの列があります。 skuNumberは外部キーと主キーです。
私の質問は - 私は現在このセットアップが1つだけのアイテムSKUは一度に注文することができます。これをどうやって違うようにデザインすればいいのですか?私はsku1、sku2などを行うことができることを知っていますが、それはベストプラクティスに反しているようです。
ありがとうございます!
OrderItemsテーブルの主キーにはどのようなものがありますか?また、SKUはバーコードのようなものです。 – cmorris1441
@ cmorris1441、まあ、最初に2つのフィールド 'ProductId'と 'OrderId'をプライマリキーとして使用するという2つの選択肢があります、2番目は[Surrogate Key](http://en.wikipedia.org/wiki)です。/Surrogate_key)は 'OrderItemId'のようなものです。 –
OrderItemTableにproductIdというアイディアがありません。製品のタイトル、価格、その他の特性が変更された場合はどうなりますか?OrderItemは、注文を送信した後も過去数ヶ月間生きることができます。誤解を招く注文履歴ページになります –