ウェブサービスにおいて、会員IDをメールアドレスにするというのはわりとよくあることだと思います。このQiitaにしてもそうですが、ユーザ自身にニックネームを付けさせる場合は重複を排除するために、先に取った者勝ちになってしまうという問題点があります。その点、メールアドレスならそれ自体が世界的にユニークであることが保証されていますので、重複を心配する必要はありません。スキーマ定義としてはこんな感じでしょうか。 create table accounts ( email varchar(255) unique, password varchar(255), ... ); このユーザがサービスから退会した際、潔いサービスならアカウントレコードを削除すれば済みます。しかし実際には退会済みユーザの情報も残しておかないといけない場合も多々あり、結果的に悪名高い「削除フラグ」を作らないとしょうがない場合も