【问题标题】:Entity Relationship User and Contacts实体关系用户和联系人
【发布时间】:2013-02-05 16:14:40
【问题描述】:

我正在尝试创建用户有联系人的数据库。我设计了下表,我对关系应该如何的部分感到困惑,因为它看起来应该是一对多的,但它也是多对多的关系。

在数据库中,每个用户都必须有联系人表,联系人是数据库中的其他用户。但是联系人必须属于每个用户。

在这种情况下是什么关系?

【问题讨论】:

    标签: database-design entity-relationship


    【解决方案1】:

    这种情况是什么关系?

    多对多。

    在您的联系人表中,您有一个 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)。

    【讨论】:

      【解决方案2】:

      联系人是个人,用户也是(而公司是法人)。

      一个人可以扮演用户的角色,也可以不扮演。

      一个人可以在一段时间内与另一个人建立关系。

      party_relationship.type 的示例是“联系人”

      【讨论】:

        猜你喜欢
        • 2015-07-26
        • 2012-04-19
        • 1970-01-01
        • 2014-07-15
        • 1970-01-01
        • 2022-01-09
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多