键与主键

作者:vkvi 来源:ITPOW(原创) 日期:2008-9-15

在了解键与主键之前,我们先看看实体-关系模型。

在 E-R 模型中,有如下一些概念:

  • 超码:是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体。
  • 候选码(候选关键字):是一个超码,但它们的任意真子集都不能成为超码。(真子集:A 包含于 B,且 A≠B,则称 A 是 B 的真子集。)
  • 主码(关键字、主关键字):被数据库设计者选中,用来在同一实体集中区分不同实体的候选码。
  • 外码(外关键字):如果关系 R 中某个属性集是其他关系模式的主码,那么该属性集是 R 的外码。

在关系型数据库中,上述“属性”对应“字段”,“实体集”对应于“表”,“实体”对应于“记录”,“超码”对应于“键”,“主码”对应于“主键”。

由此看出:

  • 主键是键中的一个
  • 主键是键中的一种,即主键中任何一个字段或部分字段的组合都不能唯一地标识一条记录,而键允许这样。要说明一下,当我们选定的主键的真子集仍是一个键时,数据库也不会报错,尽管我们这样设计主键是不正确的。

相关阅读

相关文章