2

ユーザーが連絡先を持つデータベースを作成しようとしています。以下の表を設計しましたが、1対多の関係であるように見えるため、関係がどのようになるべきかについて混乱していますが、多対多の関係でもあります。

データベースでは、各ユーザーは、連絡先がデータベース内の他のユーザーである連絡先テーブルを持っている必要があります。ただし、連絡先は各ユーザーに属している必要があります。

この場合の関係は何ですか?

ここに画像の説明を入力してください

4

2 に答える 2

2

この場合の関係は何ですか?

多対多。

連絡先テーブルには、owner_idとcontact_idがあります。これらの列をuser_1_idおよびuser_2_idと同じように簡単に呼び出すことができます。

列名を使用すると、contact_idには多くのowner_idを含めることができ、owner_idには多くのcontact_idを含めることができます。

連絡先テーブルのクラスタリング(プライマリ)インデックスは(owner_id、contact_id)です。また、Contactsテーブルに1つの一意のインデックス(contact_id、owner_id)を定義する必要があります。

于 2013-02-20T16:15:02.647 に答える
1

連絡先は人であり、ユーザーも同様です(会社は法人です)。

人はユーザーの役割を果たすこともできないこともできます。

ある人は、ある期間にわたって他の人と関係を持つことができます。

party_relationship.typeの例は、「contactof」です。

ここに画像の説明を入力してください

于 2013-02-20T19:38:07.047 に答える