超级键(super key)和候选密钥(candidate key)的区别

DBMS中的键是一个属性或一组属性,可以帮助您识别关系(表)中的行(元组)。它们允许您查找两个表之间的关系。键帮助您通过表中一列或多列的组合来唯一标识表中的行。键也有助于从表中查找唯一的记录或行。数据库键还有助于从表中查找唯一的记录或行。...

什么是数据库管理系统中的一个关键(a key in dbms)?

DBMS中的键是一个属性或一组属性,可以帮助您识别关系(表)中的行(元组)。它们允许您查找两个表之间的关系。键帮助您通过表中一列或多列的组合来唯一标识表中的行。键也有助于从表中查找唯一的记录或行。数据库键还有助于从表中查找唯一的记录或行。

什么是超级键(super key)?

超级键是可以唯一标识表中元组的单个键或一组多个键。超级键可以包含多个属性,这些属性可能无法独立标识表中的元组,但当与某些键分组时,它们可以唯一标识元组。所有超级键都不能是候选键,但其相反的情况是正确的。在关系中,超级密钥的数量大于候选密钥的数量。

实例

例如,用于存储客户主数据详细信息的表可以包含以下列:

  • 客户名称
  • 客户ID
  • 社会保障号码(SSN)
  • 住址
  • 出生日期

可以提取特定的一组列,并保证每个客户都是唯一的。超级键的示例如下:

  • 姓名+SSN+出生日期
  • ID+名称+SSN

然而,可以进一步减少该过程。可以假设客户ID对于每个客户都是唯一的。因此,超级密钥可以减少为仅一个字段,即客户ID,这是候选密钥。然而,为了确保绝对唯一性,可以通过组合客户ID和SSN来形成复合候选密钥。

关于super key您需要了解的内容

  • 超级键是唯一标识表中行的列的任意组合。
  • 超级键是任何一组属性,对于表中所有可能的元组集,这些属性的值始终保证是唯一的。
  • 超级键是用于唯一标识关系中所有属性的属性(或属性集)。
  • 组合在一起的各种超级键创建了选择候选键的标准。
  • 所有超级密钥不能都是候选密钥。
  • 超级键的属性可以包含空值。
  • 在关系中,超级密钥的数量大于候选密钥的数量。

什么是候选密钥(candidate key)?

关系数据库的候选键或简单的键是最小超键。换句话说,任何一组列在每行中都有唯一的值组合,附加的约束是删除任何列都可能产生重复行。

它们是单列,因为它们不是通过组合多列而形成的。从这组候选密钥中,可以选择一个主键,这样做可能很困难。候选密钥是超级密钥超集的子集。

候选键有助于确定表的素数和非素数属性,并通过防止重复数据确保数据的完整性。因此,候选密钥是设计数据库模式的一个重要概念。

您需要了解的候选密钥

  • 候选键是一个超级键,在不丢失唯一标识属性的情况下,不能从中删除任何列。
  • 候选密钥只是“最短”的超级密钥。候选键是表中符合每个行/元组唯一性的单个列。每个表必须至少有一个候选键,但同时可以有多个候选键。
  • 组合在一起的各种候选键创建了选择主键的标准。
  • 所有候选密钥都是超级密钥。
  • 而在关系中,候选密钥的数量小于超级密钥的数量。

超级键(super key)和表格形式的候选键(candidate key in tabular form)的区别

比较基础超级键候选密钥
释义超级键是唯一标识表中行的列的任意组合。 候选键是一个超级键,在不丢失唯一标识属性的情况下,不能从中删除任何列。
描述超级键是任何一组属性,对于表中所有可能的元组集,这些属性的值始终保证是唯一的。 候选密钥只是“最短”的超级密钥。候选键是表中符合每个行/元组唯一性的单个列。
自然界超级键是用于唯一标识关系中所有属性的属性(或属性集)。 候选密钥是超级密钥的适当子集。
结合体组合在一起的各种超级键创建了选择候选键的标准。 组合在一起的各种候选键创建了选择主键的标准。
功能所有超级密钥不能都是候选密钥。 所有候选密钥都是超级密钥。
空值超级键的属性可以包含空值。 候选键的属性也可以包含空值。
关于在关系中,超级密钥的数量大于候选密钥的数量。 而在关系中,候选密钥的数量小于超级密钥的数量。

  • 发表于 2022-09-10 13:00
  • 阅读 ( 162 )
  • 分类:IT

你可能感兴趣的文章

分支图(cladogram)和二分键(dichotomous key)的区别

...示的,它由两个描述未知有机体特征的选择组成。因此,密钥总是分为两部分。 每一步都有两个选择。用户需要在这两个语句中选择一个最好的描述,然后沿着键移动,直到识别出未知的有机体。当一个陈述被回答时,下一个...

  • 发布于 2020-09-30 06:50
  • 阅读 ( 389 )

外键(foreign key)和主键(primary key)的区别

...在于,外键是一列或一组列,它们引用另一个表的主键或候选键,而主键是一列或一组列,可用于唯一标识表中的行。 可以用来标识或访问数据库中一行或一组行的列或一组列称为键。关系数据库中的主键是表中唯一标识表中...

  • 发布于 2020-10-26 12:19
  • 阅读 ( 2071 )

主键(primary key)和候选关键字(candidate key)的区别

主键与候选键 虽然主键是从候选键中选择出来的,但是主键与其他候选键之间存在一些差异,本文将对此进行详细讨论。数据库设计是维护和存储数据时最重要的活动之一。在这个设计过程中,必须创建具有许多关系的不同...

  • 发布于 2020-10-29 02:12
  • 阅读 ( 1297 )

公钥(public key)和私钥(private key)的区别

公钥和私钥的关键区别在于,如果公钥是锁定密钥,那么它可以用来发送私密通信(即保持机密性);如果私钥是锁定密钥,则系统可以用来验证私钥持有者发送的文档(即保证真实性)。 密码学是研究隐藏信息的学科。它...

  • 发布于 2020-10-29 23:36
  • 阅读 ( 346 )

二分键(dichotomous key)和分类关键字(taxonomic key)的区别

...未知个体,而分类键是用来识别特定对象的简单工具。 密钥是一种可以用来识别生物体的工具。它包含有关物种的信息。因此,钥匙的主要目的是便于识别一种生物,使之与另一种生物相区别。有时,它可能无法提供任何有关...

  • 发布于 2020-11-02 16:06
  • 阅读 ( 1317 )

python字典:如何使用它编写更好的代码

... 访问密钥时密钥的类型必须与Python字典中存储的内容匹配。由于存储的密钥是数字,而访问密钥是字符串,因此以下情况会导致错误。 ...

  • 发布于 2021-03-14 05:15
  • 阅读 ( 257 )

如何使用python构建twitter、instagram和reddit机器人程序

...用了两个助手函数。Instagram在JSON响应中发送一个图像“候选者”列表。选择这些图像中最大的一个,以便以最高分辨率显示媒体。 ...

  • 发布于 2021-03-21 23:06
  • 阅读 ( 494 )

linux下如何用gpg加密解密文件

...的加密来保护你的秘密。我们将向您展示如何使用gpg处理密钥、加密文件和解密它们。 gnuprivacyguard(GPG)允许您安全地加密文件,以便只有指定的收件人才能解密它们。具体来说,GPG符合OpenPGP标准。它是以一个名为Pretty Good Priv...

  • 发布于 2021-04-03 09:08
  • 阅读 ( 202 )

如何禁用或重新分配windows密钥?

...一个分支,是一个由社区驱动的问答网站分组。 问题 超级用户读者Auron想知道: Between Ctrl and Alt, modern keyboards have an abominable key: the ‘Windows’ key :P By default, when this key is pressed alone it opens the Start menu. Many applicati*** and a great nu...

  • 发布于 2021-04-12 03:28
  • 阅读 ( 221 )

专家极客:浏览注册表命令行风格,就像它是一个驱动器使用powershell

...它们作为键的属性进行管理,并显示在属性列中。要查看密钥列表,只需运行: Dir 要对键进行更多操作,最简单的方法是为键创建一个变量。让我们为HKEY\ U CURRENT\ U USER\Software\Microsoft\Windows\CurrentVersion\Explorer键创建一个名为key...

  • 发布于 2021-04-12 17:58
  • 阅读 ( 165 )
ulct4837
ulct4837

0 篇文章

相关推荐