表设计可能性

时间:2017-03-20 07:11:29

标签: database-design

在一个简单的表设计中,我更喜欢在单独的表中保留人员的地址(人是以person_id作为PK的基表),将person_id存储在地址表中或将address_id存储在人表?地址表确实需要单独的PK,因为它用于存储其他实体(如企业)的地址。在一个表格中存储具有相同属性的地址,无论是个人还是企业,我们也可以将其用于分析。

2 个答案:

答案 0 :(得分:1)

如果每个person都需要address,但address不一定属于person(因为它可能属于business),制作address_id的{​​{1}}部分。然后,您不需要外键字段的NULL值。

答案 1 :(得分:0)

决定的主要标准是如果需要以下内容:

  • 多人应该能够共享同一个地址(person-id在person-table中)。

  • 一个人应该能够拥有多个地址(地址表中的person_id)。

如果两者都为真,则需要一个包含person_id和address_id的附加表。如果两者都被禁止,则可以在外键列上添加唯一约束。