【问题标题】:Many to Many Relationship, Correct Implementation?多对多关系,正确实现?
【发布时间】:2013-04-16 02:26:22
【问题描述】:

我正在设计一个用于存储租户和地址信息的数据库架构。为了规范化,并且因为我将在地址表中存储多个租户地址,我已经制作了这两个具有多对多关系的单独表和一个“交叉引用”表。此外,存储在我的交叉引用表中的是 AddressTypeID。我这样做是因为地址类型可以在软件中自定义。这对我来说似乎是正确的,这里有改进的余地吗?

【问题讨论】:

  • 这看起来你在正确的轨道上。一般来说,“联系”地址可以是多种不同的形式(传真#、电子邮件等),以及不同司法管辖区的邮政地址和街道地址的简单格式变化。你的目标是什么?
  • 我有一个单独的联系信息(电子邮件、电话号码、传真等)关系。至于地址格式的变化,我只需要存储地址信息用于显示目的。除了放在邮件信封的正面之外,不需要解析地址,因此在我看来,存储单个项目(例如街道号码、街道名称、街道类型等)是多余的。这里的AddressType 指的是[Work, Home, etc.]

标签: sql relational-database database-schema


【解决方案1】:

您的设计看起来不错。出于隐私原因,考虑将 ssn 删除到具有更严格权限的自己的表中。很多查询需要租户;没有多少人需要ssn。

【讨论】:

  • 这就是我喜欢这个地方的原因!好主意!
【解决方案2】:

您的地址表未标准化。您应该指向 City、Zip 和 County 的外部表。您无需指出状态,因为它可以来自 City 或 Zip。

您还可以考虑租户地址中的 valid_from 和 valid_to(可为空)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多