2013-02-20 83 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

“的接触”