友人の連絡先リストをソーシャル ネットワークのように保存できるデータベースを作成したいのですが、データベース構造を設計する最良の方法と、mysql を使用して友人の連絡先を簡単に取得する方法は何ですか。
これに対する解決策が必要です、助けてください
友人の連絡先リストをソーシャル ネットワークのように保存できるデータベースを作成したいのですが、データベース構造を設計する最良の方法と、mysql を使用して友人の連絡先を簡単に取得する方法は何ですか。
これに対する解決策が必要です、助けてください
階層データをモデル化する最良の方法は、サポートする必要がある操作によって異なります。比較のために、Bill Karwin のスライド「階層データのモデル」を読むことをお勧めします。特に、各アプローチの長所と短所がまとめられているスライド 48 を参照してください。
ただし、友情を階層構造とは見なしません。通常、ループがあります: A は B と友達、B は C と友達、C は A と友達です。代わりに、「users」テーブルへの外部キーである user_id と friend_id の 2 つの列を持つ contact テーブルを作成できます。
contact_list ------------------ user_id フレンド ID ------------------ 1 2 2 3 3 1
特定のユーザー ID の連絡先リストを取得するには、次のクエリを実行します。
SELECT friend_id
FROM contact_list
WHERE user_id = 1
ここで、A が B の連絡先リストにあるからといって、B も A の連絡先リストにあるとは限らないと仮定しています。