SQL 2008 R2。我有三张桌子。
**Person**
PersonID int
**Address**
AddressId int
Address varchar
**PersonAddress**
PersonID int primary key references Person.PersonID
AddressID int primary key references Address.AddressID
我已经读过,当存在复合主键时,任何引用都应该包含这两列。然而,这对我有用。管理工作室不会抛出错误,我可以在没有任何重复的情况下向这些表插入行并遵守所有约束。
这是一个好习惯吗?
答案 0 :(得分:1)
FK应该/必须引用引用的表的所有键列。 PersonAddress正在这样做两次。