この機能を実現するには、データベースをどのように設計しますか?
製品リレーション (パッケージ)を作成するシナリオを考えてみましょう...
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、ヒント、価値のあるものなら何でもアドバイスしてください。
まことにありがとうございます。