问题是: 称为主键的组合属性是什么? 给出的答案是“超级键”,似乎...错了。 谁能说出正确的答案?
答案 0 :(得分:1)
被称为主键的属性是什么?
在关系模型下:
没有这样的特殊术语。出现在某些CK(候选关键字)中的属性称为主要属性。 PK(主键)是您决定称为PK的一个CK。
PK的属性是素数,但并不是所有的素数属性都必须是PK的属性,因为除了PK之外可能还有其他CK,或者可能没有选择CK作为PK。
如果一个关系只有一个CK并且是PK,则PK的属性是主要属性。
但是我们不需要一个特殊的术语,因为我们可以只说“ PK属性”。就像我们不需要“素数”一样,因为我们可以说“ CK属性”。
给出的答案是超级键
超键是一组值唯一的列。 CK是一个超级键,其中不包含更小的超级键。因此,PK是超键。但是,可能存在不是CK或PK的超键-CK的每个较大的超集。
PS在SQL中,假设没有重复的行或重复的列名或空值,so we can take a table to be a relation in the obvious way & apply relational terminology,一个UNIQUE声明或所谓的PK声明都声明一个超键。