(ア)
「顧客毎にポイント情報」とあるのでポイント残高は必要。
「次の日から100日間プレミアム会員となる」とあるのでプレミアム会員登録日は必要。
(イ)
「過去にどの商品をいくらで販売したか」なので単価、販売開始日、販売終了日である。
(ウ)
「どの会員がどの商品を」なので、顧客IDと商品管理IDが必要。
顧客IDが分かれば顧客管理テーブルで顧客の情報は分かる。
商品管理IDが分かれば価格管理テーブルと製品管理テーブルから商品の情報は分かる。
「購入・ポイント利用履歴テーブル」なので使用ポイント数は必要。
(エ)
顧客管理テーブルは購入ごとにポイント残高が変化し、プレミアム会員であるか否かも変化するので、日常的にフィールドの書き換えが発生する。
他はレコードの追加のみでいい。
(オ)
再入力を促すのは使用したいポイント数がポイント残高または総購入額を超えている場合である。
単価とするとおかしい。
決済時は、購入した商品(または商品管理ID)ごとに購入・ポイント利用履歴テーブルに記録する。
その商品の購入金額合計sがpより大きい場合は、pを購入・ポイント利用履歴テーブルの使用ポイント数に記録する。
そうでない場合は、sを購入・ポンと管理利用履歴テーブルの使用ポイント数に記録し、pからsを減算する。
すべての購入商品についてこの処理を繰り返す。
次に顧客管理テーブルを更新する。
ポイント残高から使用したいポイント数を引いてさらに支払金額に応じたポイントを加算し、顧客管理テーブルに記録する。
コメントを残す