私が関心を持っているユーザーは、「未確認」または「確認済み」のいずれかです。後者はフルアクセスを取得することを意味し、前者はモデレーターからの承認を待っていることを意味します。この構造を考慮してデータベースを設計する方法がわかりません。
私が持っていた1つの考えは、unconfirmedUserに追加のフィールド(「emailConfirmed」や「confirmationCode」など)があることを除いて、非常によく似た2つの異なるテーブルconfirmedUserとunconfirmedUserを持つことでした。ユーザーが受け入れられたときにすべての情報をコピーする必要があるため、これは少し実用的ではありません(ただし、それほど悪くはないと思いますが、大量のトラフィックは予想されません)。
これを想像した2番目の方法は、実際にすべてのユーザーを同じテーブルに配置し、必要に応じて追加の「未確認」データを含むテーブルへのキーを用意することです(おそらく、ユーザーテーブルに「確認済み」フラグを追加します)。
各アプローチの長所と短所は何ですか?データベースを設計するためのより良い方法はおそらくありますか?