ユーザーがイベントに登録できるフリーランスの Web アプリケーションがあります。私のデータベースには、t_users.user_id 列にリンクされた外部キー制約を持つ列 t_events_applications.user_id を持つ t_events_applicants テーブルがあります。したがって、これは、Web アプリケーションに登録したユーザーのみが Web アプリケーションのイベントに登録できることを意味します。
私のクライアントは、未登録ユーザー (私の t_user テーブルにエントリを持たないユーザー) がイベントに登録できるようにしたいと考えています。これらの未登録ユーザーは、名前と電子メール アドレスを提供するだけで、イベントに登録できます。
name 列と email 列を含む t_temporary_user テーブルを作成してから、t_events_applicants.user_id fk 制約を削除する必要がありますか? または、未登録ユーザーを t_user テーブルに追加してから、タイプが「登録済み」または「未登録」の t_user.type という列を追加する必要がありますか?
どのアプローチを使用するかをどのように決定しますか?
多くの場合、どちらのアプローチにも躊躇します。「後で、一時ユーザーが完全に登録されたユーザーになることを許可されたらどうなるでしょうか。その場合は、t_user テーブルのみを使用する必要があるかもしれません。しかし、多くの一時ユーザーを保存することにも満足できません。 t_user で」