0

テーブル「人」(ID、名前)があります

1, George
2, Nick
3, John
4, Paul

各顧客は別の顧客に接続できます(参考までに)たとえば、ジョージはポールと接続されています

そこで、新しいテーブル PeopleConnections (PeopleConnectID、PeopleID、ConnectedID) を作成します。

そして私は人々の間の関係を追加します

1, 1, 4 (George with Paul)
1, 2, 3 (Nick with John)
1, 2, 4 (Nick with Paul)

レコード ビュー GUI 内にすべての関係を表示する必要があります。そう

  • ニックは以下を表示する必要があります:John, Paul
  • ポールは以下を表示する必要があります。George, Nick
  • ジョンは以下を表示する必要があります。Nick

これを処理するのは正しい設計ですか?どの外部キーを追加する必要がありますか?

4

2 に答える 2

1

私の意見では、それはmany-to-many関係であり、正しい設計です。外部キーは元テーブルにする必要がありIDますPeople。あなたはすでにその部分で自分自身に答えました。

于 2013-05-14T19:24:16.767 に答える
0

はい、あなたのデザインは一般的に適切です。PeopleConnections.PeopleID と PeopleConnections.ConnectedID に外部キー制約を設定する必要があります。どちらも People.PeopleID を参照する必要があります。

関係の重複を防ぐために、PeopleConnections.PeopleID と PeopleConnections.ConnectedID の集合体に一意の制約を設定することもできます。

于 2013-05-14T19:24:34.080 に答える