处理具有人名、电话号码和其他信息的表 Person 和第二个表 Address 的情况的适当方法是什么?
您应该将 Address 主键指定为 Person 表中的外键,还是最好有一个 Person_has_Address 与人员和地址的外键?
我开始注意到使用外键约束非常麻烦,因为它要求您必须先输入地址,然后输入人,如果您使用 Person_has_Address,您可以从 Person 或 Address 表开始。
处理具有人名、电话号码和其他信息的表 Person 和第二个表 Address 的情况的适当方法是什么?
您应该将 Address 主键指定为 Person 表中的外键,还是最好有一个 Person_has_Address 与人员和地址的外键?
我开始注意到使用外键约束非常麻烦,因为它要求您必须先输入地址,然后输入人,如果您使用 Person_has_Address,您可以从 Person 或 Address 表开始。
Person和Address之间的关系一般是多对多的:多个Person可以在同一个地址居住/工作/度假,每个Person可以有不同的居住/工作/度假地址。
您应该构建单独的 Person 和 Address 表以及与每个和PersonAddress
具有 FK 关系的表。Person
Address
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)