2011-01-19 18 views
1

皆さん、私は学校のプロジェクトに取り組んでいます。私のプロジェクトでは、繰り返し注文を処理できるeコマースシステムを作成することにしました。これは私の最終的なプロジェクトです。私は5月にコンピュータサイエンスの仲間と卒業する予定です。定期購読

これは、最終的な解決策であり、基本的にこのデータベース設計のポイントとなります。

ビジネスプロセスにはほとんど背景。
- お客様が製品を注文し、チェックアウト時に1回注文か週1回/月注文かを指定します。
- 注文を取り上げる場所を指定します(この場所は注文にのみ適用されます)
- 注文の値が25.00を超えると、それ以外の場合に受け入れられ、それ以外の場合は拒否されます。
- これは、これら2つのテーブルに基づいて、日の配達のために生成されたレポートがありますバックエンドでorders_testとorder_products_testテーブルそれぞれ

  • 人に移入されます。
  • 彼らはそれを印刷することができ、どのアイテムがどの場所に行くのかのリストを生成します。 以下の基準に基づいています。
  • date_of_next_scheduled_delivery =現在の日付
  • remaining_deliveries> 0
  • 彼らは、「プロセスの配達」ボタンを押します配信リストに満足していたら。
  • remaining_deliveries
  • を挿入し、現在の日付から
  • 減算1はdelivery_frequencyに基づいてdate_of_last_delivery_processed
  • に次のようにこれはdate_of_next_scheduled_deliveryに
  • ステータス値を変更します(つまり一回、毎週、毎月)order_products_testテーブルを調整しますorder_products_testテーブルのアクティブ、保留、キャンセルのいずれかが有効期限切れです

私がアプローチしている場合は、ちょっと意見がありますこれを正しく行うか、このアプローチを傷付けて、やり直すべきかどうか。

答えて

0

必ずしも(そこに多くがあなたの質問にですが、うまくいけば、これらのポイントのヘルプ)を完了していないが、いくつかの考え、:

  • 私はあなたが残りの配達を追跡する必要はないと思います。 2つのオプションがあります - ワンタイムオーダーまたは定期オーダー。どちらの場合も、残りの配達の計算には意​​味がありません。それは決して活用されていない。

  • 次の配達日を追跡する点で、注文日を追跡するだけで済みます。それが毎月または毎週繰り返されている場合でも、その最初の日付からすべてが計算可能です。ほとんどのDBシステム(MySQL、SQL Server、Oracleなど)は、このような既知のスケジュールを維持するのではなく、即座にこれを計算できるように、日付の計算の柔軟性を十分にサポートしています。

  • 配送先が注文にのみ関連している場合は、別のテーブルを作成する際に使用することはできません。機能的には注文に依存します。注文と同じ表に保管する必要があります。ほとんどの電子商取引システムでは、配信ロケーションのリストをアカウントに関連付ける傾向があり、複数回注文する際にお客様にメッセージを表示する傾向があるため(例:Amazonなど)、これは当てはまりません。

  • 上記を踏まえれば、上記の4つのテーブルのうちの2つ(アカウントと注文)から離れていくことができます。しかし、配信場所がアカウントに関連付けられている場合は、私は確かにそれを壊すだろう。 (ただし、あなたの質問はそれを示唆していません)

  • テーブルには「_test」という接尾辞を付けないでください。混乱します。