-1

处理具有人名、电话号码和其他信息的表 Person 和第二个表 Address 的情况的适当方法是什么?

您应该将 Address 主键指定为 Person 表中的外键,还是最好有一个 Person_has_Address 与人员和地址的外键?

我开始注意到使用外键约束非常麻烦,因为它要求您必须先输入地址,然后输入人,如果您使用 Person_has_Address,您可以从 Person 或 Address 表开始。

4

2 回答 2

2

Person和Address之间的关系一般是多对多的:多个Person可以在同一个地址居住/工作/度假,每个Person可以有不同的居住/工作/度假地址。

您应该构建单独的 Person 和 Address 表以及与每个和PersonAddress具有 FK 关系的表。PersonAddress

于 2013-04-21T04:10:33.253 回答
0

If a Person can only ever have 2 addresses, then the simple way to model this is to have Address1Id and Address2Id as foreign key columns in the Person table.

BUT if a person can have many addresses, create a many-to-many intermediate table PersonAddress

PersonAddress
=============

PersonId  (FK to Person.Id)
AddressId (FK to Address.Id)
于 2013-04-21T04:03:36.797 回答