表设计,复合键

时间:2014-03-13 10:34:49

标签: sql tsql

我有一个表格,其中包含一些由client_id, location_id, category_id and summary列组成的数据摘要。三个id列的值不是唯一的。

目前我已使用主键从client_id,location_id,category_id创建了composite key。这三列将唯一标识行。

我的问题是,如果我仍然应该为该表包含唯一的主键,例如具有自动增量ID的列?

2 个答案:

答案 0 :(得分:1)

这完全取决于您对表的使用。如果您不想引用查询中的给定行(例如,具有从属表),则不需要单独的PK(例如,如果您总是要求给定客户端和给定位置的统计信息,并且给定类别)。但是,如果你有依赖表,你可能也想要一个单独的PK。

答案 1 :(得分:0)

如果您的复合键是主聚集索引,那么我会说它没有必要。