【问题标题】:Guarantee uniqueness for group of rows (Database)保证行组的唯一性(数据库)
【发布时间】:2013-02-17 21:50:38
【问题描述】:

我正在构思一个数据库。我想要一个有 3 列的表(1 列是 PK,另外 2 列是 FK),并且我想使每个列组合只能有一个元素。两者都是外键的事实是否足以保证两者组合的唯一性? (这两列只能有一行具有相同的值组合)。我还应该使它们成为复合唯一键吗?

【问题讨论】:

  • 当你说行时,你是指列吗?
  • @TheMouthofaCow 是的,很抱歉。感谢您的关注。

标签: sql database unique-key


【解决方案1】:

两者都是外键这一事实是否足以保证两者组合的唯一性?

没有。

我是否也应该将它们设为复合唯一键?

正确。如果您创建包含它们的复合唯一键 - 您保证这些对是唯一的(除非它们接受 NULL 值)

【讨论】:

  • 谢谢:)。作为后续问题:如果它们是复合主键,那么唯一性是否也能保证正确?
  • @Arthurso:是的 ps:但我个人更喜欢避免复合主键。自然主键也是如此。
猜你喜欢
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多