3

この機能を実現するには、データベースをどのように設計しますか?

製品リレーション (パッケージ)を作成するシナリオを考えてみましょう...

ProductTblを作成するとします。

prod_id   prod_name    prod_fee
1         prepaid-A    19 usd
2         prepaid-B    29 usd
3         prepaid-C    39 usd
4         internet      9 usd
5         mms           1 usd
6         email         3 usd

お客様により良い手数料を提供する製品パッケージを提供したいと考えています。

たとえば、お客様が前払い-A + インターネット + mmsを選択した場合、パッケージ料金は (29 米ドルではなく) 25 米ドルになります。

デザイン

  • 同じ組み合わせのパッケージは一度だけ存在する必要があります。
  • 可能であれば、1 つのパッケージに無制限の数の製品を含めることができます。(通常は 2 ~ 4 です)。

パッケージの組み合わせの例

ProdPkgTbl

ppkg_id   prod_name    prod_fee
1         prepaid-A    25 usd
1         mms          25 usd
1         internet     25 usd

2         internet     10 usd
2         email        10 usd

3         prepaid-C    45 usd
3         internet     45 usd
3         mms          45 usd
3         email        45 usd

つまりその組み合わせ

  • pkgid 1 -> prepaid-a、mms、およびインターネットを 25 米ドルのパッケージ料金で
  • pkgid 2 -> インターネットと電子メールを一緒に 10 米ドルの料金で
  • pkgid 3 -> プリペイド-c、インターネット、mms、メールをまとめて 45 米ドル

したがって、顧客がプリペイド c + インターネットのみを取得した場合、45 米ドルの取引が得られない場合、通常の料金である 39 + 9 = 48 米ドルを支払うことになります。

現在、この表はデモ用です。正しい方向にモデル化するために、あなたの意見とアドバイスを得たいと思います。

最初に、顧客の現在の料金プラン (使用済みの製品/サービスに基づく) を選択クエリし、その後、製品パッケージを調べて、パッケージ取引が有効かどうかを確認する必要があります。

(そのような選択を行う方法は? pkg テーブルで?) これに適したデータベース モデルを作成するにはどうすればよいですか?

私を正しい方向に導くために、URL、ヒント、価値のあるものなら何でもアドバイスしてください。

まことにありがとうございます。

4

2 に答える 2

2

カタログから商品またはサービスを販売しています。上記を組み合わせての販売も可能です。これは、マーケティング パッケージ (またはバンドルまたはコンボ) と呼ばれます。

マーケティングパッケージもカタログから販売されています。商品、サービス、またはその他のマーケティング パッケージで構成できます。

注文ごとに価格が大きく異なります。商品テーブルに基本料金、サービス テーブルに月額料金、マーケティング パッケージ テーブルに基本料金を設定できます。

ここに画像の説明を入力

于 2013-02-20T21:09:25.107 に答える
0

私はこれに関するいくつかの意見を望んでいましたが、おそらく質問は答えるのが「面倒」です。:o)

現在の私のモデルは次のようになります。

製品表

prod_id   prod_name    prod_fee
1         prepaid-A    19 usd
2         prepaid-B    29 usd
3         prepaid-C    39 usd
4         internet      9 usd
5         mms           1 usd
6         email         3 usd

製品パッケージ表

ppkg_id   prod_id      prod_name 
1         1            prepaid-A 
1         5            mms       
1         4            internet  

2         4            internet  
2         6            email     

3         3            prepaid-C 
3         4            internet  
3         5            mms       
3         6            email     

製品パッケージ料金表

ppkg_id   ppkig_fee
1         25
2         10
3         45

しかし、上記にはいくつかの欠陥があり、誰かが同じ製品を別のパッケージに別の料金で挿入できる可能性があります。

pkgが一意であることをsqlで確認する方法が本当にわかりません。もちろん、プログラミング言語/ストアド プロシージャ/トリガーなどでチェックできます。でも、100%完璧なデザインにしたい。

このような問題に関するあなたの経験を使って、私を正しい方向に押し進めてください...

于 2013-02-20T20:48:40.987 に答える