私は、顧客にDVD販売とDVDレンタルの関係をモデル化しようとしています。私のトランスファテーブルは正しいとは思わないが。もし誰かが、私が正しい方向に行くことができれば、私に知らせることができます。このデータベースモデルを改善するにはどうすればよいですか?
答えて
これを設計できる方法が1つあります。
私はデータベースエキスパートではありません。少数のテーブルを持つ小さなアプリケーションのためのデータベースを設計しました。私はを試してください(試しに重点を置く、時々私は失敗します)可能な限り一般的なので、私はスコープの変更があるときに角に閉じ込められていません。
図では、DVDのみを販売するという前提のようなものはほとんどありませんでした。店主がBlu-rayディスクや携帯ゲーム機を販売し始めるとどうなりますか?私の提案は、デザインを包括的に保つことです。だから私はテーブルに何かを保持できるようにItemにDVDテーブルを改めた。
アイテムタイプテーブルを追加して、アイテムタイプを定義することもできます。
あなたはトランザクションを単一の注文とみなす必要があります。顧客は、購入したいアイテムのセットと、レンタルしたいアイテムはほとんど含まれていない単一の注文を置くことができます。あなたは彼らにカードを2回スワイプするように頼むことはありませんか?代わりに、オーダーヘッダーに顧客のオーダーを作成し、オーダー明細テーブルにその明細を配置します。注文詳細テーブルには、顧客が購入/レンタルしたいアイテムの数などの数量も指定されます。彼らが家賃を払うとき、戻る日付フィールドは、最初にnullになります。彼らが商品を返品すると、商品IDと顧客IDの組み合わせを検索して、日付に戻ることができます。
あなたはいくつかの方法n
数でこれを設計することができますが、限られた情報で、これは私が思い付くことができるものです。
私はこれが最高のデザインであるとは言いません。私はあなたの現在のスキーマがtehの同じDVDの複数のコピーを1回のトランザクションで販売することはできません
+1の画像と似合う –
私は1つのテーブル内のすべてのトランザクション情報を入れてしまうでしょう。一部のフィールドは、取引のタイプ(P Purchase、R Rental)によっては使用できない場合がありますが、それは何ですか?ディスク容量は安いです。このコードは、より少ないテーブルを持つことによって、より簡単になり、より速く実行されます。
多くの小売データベースは、同じテーブル内の異なる行としての各取引タイプ(「Harry Potterの販売」、「Harry Potterのレンタル」)をモデル化しています。したがって、 "TransactionType"を持つことになり、Customer-> Transaction-> LineItem(トランザクションのインスタンス) - > TransactionTypeを持つことができます。
- 1. このデータベースモデルをさらに改善するにはどうすればよいですか?
- 2. このソートコードを改善するにはどうすればよいですか?
- 3. このprocを改善するにはどうすればよいですか?
- 4. PHP - データベースモデルの改善?
- 5. AppHarborのアプリケーションパフォーマンスを改善するにはどうすればよいですか?
- 6. JLabelのレンダリングを改善するにはどうすればよいですか?
- 7. 次のコードを改善するにはどうすればよいですか?
- 8. チームシティビルドのパフォーマンスを改善するにはどうすればよいですか?
- 9. これをPythonでどのように改善するか?
- 10. 検索スクリプトを改善するにはどうすればよいですか?
- 11. clispエラーメッセージを改善するにはどうすればよいですか?
- 12. 短いVBAコードを以下のように改善するにはどうすればよいですか?
- 13. jqueryを使用してこのサンプルのサイドメニューを改善するにはどうすればよいですか?
- 14. Djangoでこの「登録」ビューを改善するにはどうすればよいですか?
- 15. ソートGET変数のこのコードを改善するにはどうすればよいですか?
- 16. このJavascriptライブラリの互換性を改善するにはどうすればよいですか?
- 17. このMySQLクエリのパフォーマンスを簡略化/改善するにはどうすればよいですか?
- 18. この単純なgridview表示プログラムのパフォーマンスを改善するにはどうすればよいですか?
- 19. この単純なテンプレートレンダリングクラスを改善するにはどうすればよいですか?
- 20. このPHPコードを改善するにはどうすればよいですか?
- 21. この基本的なjQueryコードを改善するにはどうすればよいですか?
- 22. このC#.NET4コードを改善するにはどうすればよいですか?
- 23. この線形回帰関数を改善するにはどうすればよいですか?
- 24. このスクリプトをどのように改善できますか?
- 25. スマートフォンでJavaScriptをフィルタリングするテーブルの速度を改善するにはどうすればよいですか?
- 26. この関数の単体テストを改善するにはどうすればいいですか?
- 27. ログインを必要としないオンラインフォームのセキュリティを改善するにはどうすればよいですか?
- 28. このjQueryコードをどうすれば改善できますか?
- 29. ソーシャルネットワークのERダイアグラム、どうすれば改善できますか?
- 30. 非永続CGIプロセスでのMooseパフォーマンスを改善するにはどうすればよいですか?
...これはあなたのニーズに応じて、それをここからそれを取るし、微調整するためにいくつかのアイデアを提供したいと考えています。数量列を販売テーブルとレンタルリンクテーブルに移動することができます。 –
レンタルやセールのために別々のテーブルが必要かどうかについて懸命に考えるかもしれません。非常によく似た意味情報がここにあります。 – Patrick87