【问题标题】:How to share One-To-Many table如何共享一对多表
【发布时间】:2010-11-10 12:44:24
【问题描述】:

我正在尝试创建一个数据库来保存我的通讯录,但我遇到了一个小问题。 我的数据库应该与公司联系人一起保存个人联系人。这是一个条目可以是个人或公司。如您所知,个人和公司都有地址,我希望个人和地址以及公司和地址之间存在一对多的关系。

所以一个人可以有很多地址 一个公司可以有很多地址

问题是在尝试设计架构时,我不确定这里最好的方法是什么。我应该在地址表中放置两个外键,一个用于个人 ID,一个用于公司 ID,还是应该为每个个人到地址和公司到地址的关系创建一个链接表。

外键听起来很简单,但不知道这是否是正确的方法,链接似乎是正确的方法,但不知道这是否是矫枉过正,因为它们主要用于多对多关系。

想法?

【问题讨论】:

    标签: database database-design


    【解决方案1】:

    对此有多种方法...我们采用的方法是创建一个“姓名”表,相当于您的联系人表;地址表和电话号码表。

    地址和电话号码表每个都有一个指向名称表的外键。名称表中有一个“类型”字段,以便我们可以判断该名称是否是个人、公司、独资经营者等的名称。

    电话号码表中还有一个类型字段,因此我们可以判断电话号码是工作、家庭、手机等。此外,我们允许用户将其中一个电话号码的副本存储在Name 表用作主要电话号码。

    【讨论】:

      猜你喜欢
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      相关资源
      最近更新 更多