packtpub asp.net ソーシャル ネットワーキングを読んでいますが、理解に問題があります。
「テーブルに必要な関係は次のとおりです」
- 所有アカウント経由の友達とアカウント
- 友達アカウント経由の友達とアカウント
...
とはどういう意味ですか? どのタイプの関係を使用しますか?
- 所有しているアカウントを介した友達とアカウント (多対 1?)
- 友達アカウント経由の友達とアカウント (多くの場合?)
私は本を読んでいませんが、Friends テーブルと Account テーブルの間に 2 つの同様のリレーションシップがあることを意味しますが、それぞれのリレーションシップで異なる Friends 列が使用されます。
フレンドシップとは、2 つのアカウント間の関係です。そのため、Friends テーブルで 2 つのアカウントを参照する必要があります。簡単な例として:
アカウント テーブル:
フレンド テーブル:
Friends テーブルは、任意の 2 つのアカウント間の友情を一意に表します。参照整合性を維持するには、Friends テーブルと Account テーブルの間に (外部キーとして) 2 つのリレーションシップが必要です。
友情に関係するアカウントごとに 1 つの関係。
事実上、Friends テーブルは多対多のリレーションシップのリンク テーブルです。単に Accounts がたまたまリレーションシップの両側のテーブルになっているだけです。これは、アカウントと別のアカウントの間の多対多の関係です。