ユーザーを格納するテーブル、投稿情報を格納する別のテーブル、コメントを格納する 3 番目のテーブルがあります。
未登録ユーザーと登録ユーザーが投稿にコメントできるようにしたい。
そのためのベストプラクティスのデータベース設計は何ですか? 未登録または登録済みのコメント投稿者情報をデータベースに保存するにはどうすればよいですか?
ユーザーを格納するテーブル、投稿情報を格納する別のテーブル、コメントを格納する 3 番目のテーブルがあります。
未登録ユーザーと登録ユーザーが投稿にコメントできるようにしたい。
そのためのベストプラクティスのデータベース設計は何ですか? 未登録または登録済みのコメント投稿者情報をデータベースに保存するにはどうすればよいですか?
ゲストが作成したコメントのコメント テーブルnull
のフィールドに入力するか、「Guest」という名前の新しいユーザーを作成して、コメントを割り当てます。userID
guest
または、または同様のものと呼ばれるコメントテーブルに新しい列を追加します。ブール値にして、ゲスト コメントの場合はオンに、登録ユーザー コメントの場合はオフにします。
方法はたくさんありますが、どれも「正しい」方法ではありません。システムに最適な方を使用してください。
ユーザーテーブルにゲストユーザーの名前、電子メール、Webサイトを使用してダミーのユーザーレコードを作成し、コメントをダミーユーザーのIDにリンクすることができます。
編集:コメントに追加した追加情報を前提として:
Users
で基本的なテーブルを作成します
RegisteredUsers
登録ユーザーに必要な追加フィールドを使用して2番目のテーブルを作成し、 2つのテーブル間の関係をUsers.Id=RegisteredUsers.Idとして定義します。
そのComments
場合、テーブルにはCreatedByUserId
フィールドがありCreatedByUserId = Users.Id
ます。