2013-02-20 100 views
0

我想創建數據庫,其中用戶有聯繫人。我設計了下面的表格,我對這個關係應該是如何的部分感到困惑,因爲它看起來應該是一對多的關係,但它也是多對多的關係。實體關係用戶和聯繫人

在數據庫中,每個用戶必須具有聯繫人表,表明聯繫人是數據庫中的其他用戶。但是聯繫人必須屬於每個用戶。

這種情況下的關係是什麼?

enter image description here

回答

1

什麼是在這種情況下,有什麼關係?

多對多。

在你的聯繫人表中,你有一個owner_id和一個contact_id。您可以輕鬆地調用這些列user_1_id和user_2_id。

使用您的列名稱,contact_id可以有多個owner_id,而owner_id可以有多個contact_id。

聯繫人表上的羣集(主)索引是(owner_id,contact_id)。您還需要在聯繫人表中定義一個唯一索引(contact_id,owner_id)。

1

聯繫人是一個人,用戶也是如此(公司是法人)。

一個人可以扮演一個用戶的角色,或不扮演角色。

一個人可以在一段時間內與另一個人有關係。

一個例子party_relationship.type是

enter image description here

「的接觸」