有关数据库管理系统的考试题

时间:2019-05-08 11:56:46

标签: relational-database primary-key

问题是: 称为主键的组合属性是什么? 给出的答案是“超级键”,似乎...错了。 谁能说出正确的答案?

1 个答案:

答案 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声明都声明一个超键。