それはそれらの「他の」詳細が何であるかに大きく依存します。これは一般的で興味深い質問であり、一見したところ「難しい」答えはありません。しかし、この問題をより抽象的に考えると、表現したい特定のものの属性(「詳細」)間の実際の関係について、ある程度明確になる可能性があります。
あなたの質問では、友達は「最小限」と「その他」の詳細を持っていると述べています。これらの詳細を「最小」または「その他」に分類するのではなく、友人をユニークにするものによって個々の(「原子」)詳細を完全に決定できるかどうかによって分類しましょう。
FriendIDや電子メールアドレスなどの主キー(PK)があると思います。この一意の識別子を考慮して、次のように自問してください。「FriendID(または電子メールまたはPKとして使用しているもの)が1つだけ与えられた場合、その友人の詳細は絶対に確信できますか?たとえば、FriendID =2112が与えられた場合、私は絶対にその友人の名、姓、生年月日は知っていますが、私は知りません 友達の電話番号は複数あるので、絶対に知っておいてください。
PKを指定すると、明確にわかっているすべての詳細を1つのテーブルにグループ化します。より多くのデータが必要な詳細(電話番号の場合は「自宅」や「職場」など)を「子」テーブルに入れ、PKの「親」テーブルに外国キーで戻します。 (注:子テーブルのPKは複合である可能性が非常に高いです。つまり、親テーブルのPKと差別化要因(この例では「自宅」や「職場」など)で構成されます)。多面的な複合キー。 1-Mの関係は非常に良好です。)
データベースオタクは、この分解を機能依存性に基づいて呼び出します。 。