代码之家  ›  专栏  ›  技术社区  ›  JD Frias flyx

如何共享一对多桌子

  •  0
  • JD Frias flyx  · 技术社区  · 17 年前

    我试图创建一个数据库来保存我的地址簿,但遇到了一个小问题。

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

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

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

    1 回复  |  直到 17 年前
        1
  •  4
  •   Robert Harvey    17 年前

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

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