桥表主键或复合/复合键

时间:2013-04-10 17:13:18

标签: sql sql-server sql-server-2008 sql-server-2012

对于桥牌表,我从其他2个表中获得了PK。为桥表制作PK字段或在两个字段之间制作复合/复合的优缺点是什么。

我想确保遵循最佳做法。

我正在阅读的一些链接:

https://dba.stackexchange.com/questions/3134/in-sql-is-it-composite-or-compound-keys

http://social.msdn.microsoft.com/Forums/en-US/sqlgetstarted/thread/9d3cfd17-e596-4411-b3d8-66e0ec8bfdc7/

http://www.ben-morris.com/identity-surrogate-vs-composite-keys-in-sql-server

Composite primary keys versus unique object ID field

1 个答案:

答案 0 :(得分:7)

您必须在两个外键上强制执行某种唯一约束。最简单的方法是使用主键约束。

额外的代理身份证号码并不真正有用。有些人使用它,因为它使外键约束和连接到“桥”表更容易编写。我认为,如果您认为使用两个整数进行连接很困难,那么您首先不应该使用数据库。