主键和唯一约束元组是否以相同的方式组合?

Do Primary Keys and Unique Constraints tuple in the same way?

据我所知,如果你将多列标记为主键,它们的元组将是实际的主键,因为在 table 中给定 2 个主键,多行我有相同的只要它们没有与任何其他行的 2 个匹配项,就可以输入 1 个主键。我对吗?如果是这样,唯一约束是否以同样的方式工作?我觉得有一个类似于主键的结构会很有用,但它与其他行的键的比较是 OR'd 而不是 AND'd,所以可能没有匹配而不是 n - 1 可能匹配,给定每行 n 个主键。

您的描述在功能上是正确的,但术语有误。

任何 table 都只有一个 PRIMARY KEY。如果您对多列使用 PRIMARY KEY 修饰符,这意味着每一列都成为键的一个元素,而不是有两个(或更多)PRIMARY KEY

UNIQUE 约束与主键的工作方式相同,约束中元素的元组在所有行中必须是唯一的。

但是,我不太理解你的问题的其余部分,我相信只有在对 PRIMARYUNIQUE 约束的元素存在误解的情况下才有意义分开处理。

如果您有一个复合 PRIMARY KEY 并且您想要确保键中的每个单独的列也是唯一的,那么您需要对构成PRIMARY KEY。这听起来像是一个非常奇怪的要求,让我觉得你实际上是在同一个 table.

中存储一堆不同的项目