我正在尝试创建用户有联系人的数据库。我设计了下表,我对关系应该如何的部分感到困惑,因为它看起来应该是一对多的,但它也是多对多的关系。
在数据库中,每个用户都必须有联系人表,联系人是数据库中的其他用户。但是联系人必须属于每个用户。
在这种情况下是什么关系?
我正在尝试创建用户有联系人的数据库。我设计了下表,我对关系应该如何的部分感到困惑,因为它看起来应该是一对多的,但它也是多对多的关系。
在数据库中,每个用户都必须有联系人表,联系人是数据库中的其他用户。但是联系人必须属于每个用户。
在这种情况下是什么关系?
在这种情况下是什么关系?
多对多。
在您的联系人表中,您有一个 owner_id 和一个contact_id。您可以轻松地将这些列称为 user_1_id 和 user_2_id。
使用您的列名,一个contact_id 可以有多个owner_id,一个owner_id 可以有多个contact_id。
Contacts 表上的集群(主)索引是 (owner_id, contact_id)。您还需要在 Contacts 表上定义一个唯一索引 (contact_id, owner_id)。
联系人是人,用户也是人(公司是法人)。
一个人可以扮演用户的角色,也可以不扮演。
一个人可以在一段时间内与另一个人建立关系。
一个示例party_relationship.type 将是“联系人”