如果数据库中的元组可以通过主键标识,那么候选键有什么用?

What is the use of a candidate key if a tuple in database can be identified by a primary key?

我在研究过程中找不到明确的答案。任何帮助将不胜感激。

关系理论中的候选键是包含唯一值的一列(或多列),可用于唯一标识一行;主键是候选键,已被确定为为建立关系而识别行的方法。

根据设计,一个table可能有多个候选键,但只有其中一个被确定为主键。例如,您可能有 table 个零件要转售;零件的供应商标识可能是唯一的,并且与您自己的唯一转售 ID 不同。这个 table 将有两个候选键,其中任何一个都可以用作主键(或代替第三个代理键)。