处理有桌子的情况的适当方法是什么?有人姓名,电话号码和其他信息的人以及第二个地址?
您是应该在Person表中将Address主键指定为外键,还是最好将Person_has_Address与该人和地址的外键一起使用?
我已经开始注意到使用外键约束是非常麻烦的,因为它要求你必须首先输入地址然后如果你使用Person_has_Address,你可以从Person或Address表开始。 / p>
答案 0 :(得分:1)
人与地址之间的关系通常是多对多的:多人可以在同一地址居住/工作/度假,每个人可以拥有不同的住宅/工作/度假地址。
您应该构建单独的Person和Address表以及与PersonAddress
和Person
之间具有FK关系的Address
表。
答案 1 :(得分:0)
如果Person只能拥有2个地址,那么对此进行建模的简单方法是将Address1Id
和Address2Id
作为Person表中的外键列。
但如果某人可以拥有多个地址,请创建多对多中间表PersonAddress
PersonAddress
=============
PersonId (FK to Person.Id)
AddressId (FK to Address.Id)