请举例解释 DBMS 中键属性的概念?

dbmsdatabasebig data analytics更新于 2026/1/13 9:22:17

键是用于标识记录的数据项,数据库中用于标识记录的值称为键。它有助于从实体集中唯一地标识一个实体。键使我们能够识别一组足以区分不同实体的属性。

示例

账号、员工编号、客户编号被用作键字段,因为它们专门标识存储在数据库中的记录。

不同类型的键

数据库管理系统 (DBMS) 中的不同类型的键如下 −

  • 主键

  • 超键

  • 候选键

  • 备用键

  • 人工键

  • 外键

主键、超键、候选键、备用键和人工键均具有唯一性,而外键键值表示参照完整性。

我们来考虑一个表 −

StdNo
Name
Branch
Branch
01
Hari
Cse
A
02
Pinky
Ece
B
03
Bob
Civil
A

候选键

它是一个属性,其值唯一地标识表中的每个记录。一个表可以有多个候选键。

候选键满足以下条件:−

  • 不同的记录不能相同。

  • 候选键的子集不能作为键。

在上面的学生表中,候选键如下:−

  • stdNo 和 branch,因为它们唯一地标识每条记录。

  • 但是 {stdNo, name} 不是候选键,因为只有 stdNo 才是候选键。

主键

从众多候选键中,数据库设计者为其数据库选择一个候选键,称为主键。主键唯一地标识表中的每条记录,并且两条记录的主键不能相同。

示例

在上表中,stdNo 是主键。

主键具有以下一些属性:

  • 唯一性(两条不同的记录不能相同)。

  • NOT NULL(不允许为空值)。

  • 如果任何外键引用了主键,则主键列中的值永远不能被修改或更新。

主键在表中带有下划线,以便清晰标识。

例如 − stdNo

单列主键称为简单主键,多列主键称为复合主键。

示例

  • stdNo 是简单主键。

  • {orderNo, productNo} 是复合主键。

备用键

未被选为主键的候选键称为备用键。也就是说,除了主键之外,其余候选键都是备用键。

例如 −

在上面的学生表中,stdNo 是主键,因此其余候选键(即分支)是备用键。

超键

它是候选键的超集。组合属性,其中第一个属性始终具有唯一性,第二个属性可能具有唯一性,也可能不具有唯一性。

示例

上表中,候选键为 {stdNo},{branch} 和 {stdNo}。

超键如下 −

  • {stdNo, name} 和 {stdNo, address} 分别表示为 {stdNo, name} 和 {stdNo}。

  • {branch, section} 和 {stdNo}。

超键是通过在候选键上添加额外属性形成的。

人工键

以索引的形式使用。如果数据库规模很大,且无法指定任何属性作为键字段,则将对给定数据库应用索引或人工键。

外键

在一个关系中,其数据值与另一个关系中键列的值相对应的列称为外键。在关系数据库中,一个关系的外键可能是另一个关系的主键。


相关文章