两个表的Foreignkey-Relation

时间:2013-04-30 13:08:54

标签: sql database

我有以下两张表。

[Person]
Id [INTEGER] PRIMARY KEY
Firstname [VARCHAR]
Lastname [VARCHAR]
Birthday [DATETIME2]

[Address]
Id [INTEGER] PRIMARY KEY
Street [VARCHAR]
ZipCode [INTEGER]
City [VARCHAR]
Country [VARCHAR]

我不确定把外键放在哪里。

将外键放入Person-Table或Address-Table中会更好吗? 我的第一个想法是把它放到人员表中,因为这是我的“主要”表格

2 个答案:

答案 0 :(得分:4)

这取决于。一个人只有一个地址或多个地址?

  • 如果只有一个,我认为将IdAddress放在Person表中更合乎逻辑,因为一个人有一个地址,而不是,一个地址有一个人

  • 如果不止一个,也许你应该用IdPerson和IdAddress创建一个连接表。

答案 1 :(得分:0)

添加以下内容:

[Address]
PersonId [INTEGER] (References [Person].[Id])