首页 > 解决方案 > 数据库管理系统考试题

问题描述

问题是:组合形成主键的属性是什么?给出的答案是 Super key 这似乎......错误。谁能说出正确答案是什么?

标签: relational-databaseprimary-key

解决方案


什么是组合形成主键的属性?

在关系模型下:

没有这个特殊的名词。某些CK(候选键)中出现的属性称为主属性。PK(主键)是您决定称为 PK 的一个 CK。

PK 的属性是素数,但并非所有素数属性都必须是 PK 的属性,因为除了 PK 之外可能还有 CK,或者可能没有 CK 被选为 PK。

如果一个关系只有一个 CK 并且它是 PK,那么 PK 的属性就是主要属性。

但是我们不需要一个特殊的术语,因为我们可以说“PK属性”。就像我们不需要“素数”,因为我们可以说“CK 属性”。

给出的答案是超级关键

超级键是一组其值是唯一的列。CK 是一个不包含更小的超级密钥的超级密钥。所以 PK 是一个超级密钥。但是可能存在不是 CK 或 PK 的超级密钥——CK 的每个更大的超集。

PS 在 SQL 中,假设没有重复的行或重复的列名称或空值,因此我们可以以明显的方式将表视为关系并应用关系术语,一个 UNIQUE 声明或所谓的 PK 声明声明一个超键。


推荐阅读