シナリオは次のとおりです...人は、関連付けられたプロファイル レコードの有無にかかわらず、ユーザー レコードを持つことができます。その人は、自分が「管理」する複数のプロファイル (家族など) を持つこともできます。これらのプロファイルには、Web サイト/アプリを使用する場合と使用しない場合があるため、関連付けられたユーザー レコードがある場合とない場合があります。
プロファイル レコードには、名前、生年月日などの個人情報が含まれています。そのため、スミスおばあちゃんのプロファイルには個人情報が含まれていますが、サイトを自分で使用することはなく、娘だけが使用するため、関連するユーザー レコードはありません。
重要なフィールドを以下に示します (これは適切に正規化された一連のテーブルですか?):
ユーザー: ID、電子メール、パスワード、profile_id (FK、NULLABLE)
USER_PROFILES: id、user_id、profile_id
プロファイル: id、name、dob、user_id (FK、NULLABLE)
私が疑問に思っているのは、profile_id 外部キーと user_id 外部キーの両方が必要な場合、これらは冗長ですか? 私のサイトには、同じページで人のユーザー情報とプロファイル情報を編集できるプロファイル編集ページがあるので、参照ページからプロファイル ID またはユーザー ID を提供してプルアップできるようにしたいと考えています。適切なデータ。プロファイル レコードに user_id がない場合、現在のプロファイルにユーザー レコードがあるかどうかを確認するのは困難です。