アプリ版:「スタンプのみでお礼する」機能のリリースについて

仮登録から本登録の流れというのは、どの設計になるのでしょうか?仕組みは色々な方法があると思うのですがいまいちイメージがつかめないです。

以下は、私が設計したいと思っている流れです。

(1)お問い合わせフォームまたは電話にてお申込み連絡を承ります。サービスの利用が可能かを確認致します。
ここで基本的な会社の情報をいただきます。メールにて送信。

(2)メール確認後、ご訪問、電話にてご説明。
弊社担当よりサービスのご案内・利用方法についてご説明させて頂きます。

(3)クライアントがサービス利用と判断された場合は利用に必要な項目を確認、取得します。

最終的にはどのようなデータベース設計になるのでしょうか。

よろしくお願いします。

A 回答 (2件)

いくつか見えていない要件がありますので以下にサンプル的に書いてみます。



<業務の手順>
(1)お問い合わせフォームまたは電話にてお申込み連絡を承ります。サービスの利用が可能かを確認致します。
ここで基本的な会社の情報をいただきます。メールにて送信。

(2)メール確認後、ご訪問、電話にてご説明。
弊社担当よりサービスのご案内・利用方法についてご説明させて頂きます。

(3)クライアントがサービス利用と判断された場合は利用に必要な項目を確認、取得します。

(4)サービス利用時に登録テーブルを参照(他)を行う。

<方法1> 仮登録も本登録も同一テーブルで管理
登録テーブル 登録区分 0:仮登録/1:本登録/9:本登録しない(退会とかも必要なはずですが)
(1)登録テーブルに登録区分0で基本的情報を登録
(2)登録テーブルの情報更新:登録区分0のまま、更新処理。または、登録区分9に変更。
(3)登録テーブルの情報更新:登録区分1に変更。
 このとき未入力データがあってはいけない項目の未入力チェックを行う。
 (プログラムでチェックしないとやりにくい)
(4)登録テーブルを参照(登録区分1のみ)

☆仮登録や本登録した件数が増えると、(4)のときの処理が遅くなる。また、管理しにくい。
⇒本登録したデータだけ別にすると(方法2)

<方法2> 本登録したデータは別テーブルで管理
仮登録テーブル 登録区分 0:仮登録/9:本登録しない
本登録テーブル 登録区分 1:本登録(退会とかも必要なはずですが)
(1)仮登録テーブルに登録区分0で基本的情報を登録
(2)仮登録テーブルの情報更新:登録区分0のまま、更新処理。または、登録区分9に変更。
(3)仮登録テーブルの情報削除
  本登録テーブルの情報登録
 このとき未入力データがあってはいけない項目の未入力チェックを行う。
 (本登録テーブルにNot Nullなどの制約を付けるだけでもチェック可能。)
(4)本登録テーブルを参照
☆仮登録件数が増えると、(2)のときの処理が遅くなる。また、管理しにくい。
⇒本登録しないデータだけ別にすると(方法3)

<方法3> 本登録したデータも本登録しないとなったデータも別テーブルで管理
仮登録テーブル 登録区分 0:仮登録
本登録テーブル 登録区分 1:本登録(退会とかも必要なはずですが)
登録取止テーブル 登録区分 9:登録しない
※登録区分は、なくてもいいですが。

(1)仮登録テーブルに登録区分0で基本的情報を登録
(2)仮登録テーブルの情報更新:登録区分0のまま、更新処理。
 または、仮登録テーブルの情報削除&登録取止テーブルの情報登録
(3)~(4)は同じ
☆過去に仮登録から本登録あるいは、登録しなかった履歴がほしい
⇒登録履歴テーブルを作って仮登録テーブル削除時にコピーを残す等。

★ポイント
仮登録も登録の一つとして同一テーブルにもたすか、
仮登録はあくまで登録されていない状態として、別テーブルにおいておくか。
また、仮登録のまま放置されているデータをどうするのか?
(一定期間たったら消すとか考えておかないと無駄なデータが溜まります。)
また、サーピス利用の終了(退会)や終了後の再加入はどうするのか?
    • good
    • 1
この回答へのお礼

ご丁寧に解説していただきありがとうございます。凄くイメージしやすいサンプルで参考になりました。全て試してみます。

お礼日時:2014/01/12 16:05

通常、空メール→仮ID発行→本登録が効率的では?



性質上仮ID管理用テーブルと本登録用テーブルは別れた方が
なにかと便利だと思います
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2014/01/27 11:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す