[pgsql-jp: 29955] Re: 40万件有るデータから重複をさけて登録する

Takeshi Miyakawa tak @ hdt.co.jp
2003年 5月 18日 (日) 12:03:21 JST


 みやかわ@ホビー・データです。

k_matsui wrote:
>だいた40万件の応募が予想されるのですが、重複したメールアドレスでの
>再応募が出来ないようにしたいのです。この場合、どのような方法が
>簡単かつ、実用的でしょうか?尚、応募は3回に分けて行われ、1つの応募に
>対して1度、計3回のメールアドレスでの応募が可能なようにしたいのですが、
>tableは1つにまとめたいのです。
 ユーザに対して、入力時に重複メールアドレスを告知するのかどうかが問題です。
 告知しないのであれば、単純にリクエストをそのまま格納するテーブルを作っ
ておき、
リスクエストから重複するメールアドレスを取り除いて、最終的に「受理された
リクエスト」
のテーブルを作るようにします。
 告知する場合でも、Web上で即その場で告知するのか、登録されたメールアド
レスに
重複するリクエストがあったことをメールするのか、いろいろな方法があると思
います。

 想像するに、プレゼントの応募か何かを受理するWebアプリケーションのよう
ですから、
あまり堅苦しく考えず「重複があっても告知しない」という方針でよいのではな
いかと思う
のですが、いかがでしょうか。

 ついでに言わせてもらいますと、メールアドレスの有効性は検証しなくても良
いのです
か? たとえばフリーメールの類でも良いのだとすると、重複するメールアドレ
スを弾く
ような試みは大して意味があるとも思えません(同一人物が多数のメールアドレ
スを持っ
ている可能性が出てきますから)。
 重複があろうとなかろうと、何件リクエストがあり、有効なリクエストは何件
だったかを
クライアントに報告することは重要だと思うので、重複をどの時点で弾くかを問
わず、
リクエストの履歴はすべて保存すべきだと僕は思います。





pgsql-jp メーリングリストの案内