主键,唯一键和候选键之间的区别

问题描述:

主键,唯一键和候选键有什么区别?主键,唯一键和候选键之间的区别

+5

这是功课吗? – leppie 2010-09-01 10:24:26

候选键是最小的(即束缚)键,唯一键是一个赘言,而主键是一个过时的概念仍从天幸存,当人们认为它可能一个关键是比其他任何人都“更独特”。

+0

候选键是否可以是复合的,我很困惑,因为一些消息来源说它应该是单个列,有人说它可以是复合的? – user1 2017-07-21 08:50:00

+0

键可以是复合的。他们没有错。如果属性的数量变得相当大(4个或更多),那么你可能会开始遇到*实际*缺点,但即使如此,在基本理论层面上它们仍然没有错。 – 2018-02-18 12:04:48

+5

问题想要它们之间的具体区别。 – 2012-11-25 09:23:53

+3

-1这些文章没有给出差异 – CodyBugstein 2014-01-06 17:47:22

组合键是主键,其具有多于1列。例如,考虑学生和课程之间的多对多关系。在这里,我们需要另一张桌子,让我们说学生课程。

此studentcourses表的student_id和course_id将作为其列。这将形成你的组合键。

候选键是一组列,可以唯一地标识表中的值并可以充当唯一键。其中一个候选键将成为主键,其余键将成为备用键。

顾名思义,唯一键用于唯一标识表中的值。例如Emp_id等。每个候选键将作为唯一键。唯一键不能是NULL的值。

候选密钥 - 候选密钥可以是任何可以作为数据库中唯一密钥的列或列的组合。在一个表中可以有多个候选键。每个候选键都可以作为主键。

主键 - 主键是唯一标识记录的列或列组合。只有一个候选键可以是主键。 在选择主键时需要非常小心,因为不正确的选择可能会对数据库架构师和未来的规范化造成不利影响。对于候选键有资格作为主键,它应该是非空的并且在任何域中都是唯一的。我经常观察到主键很少改变。我想就不更改主键提供反馈意见。

For more articles

超级中心是一组一个或多个列的(即属性),其唯一地标识的记录。候选键是一个最小的超级键(这意味着我们不能删除它的任何属性,否则它不会保持超级键)。

主键是一个任意选定的候选键。必须只有且只有一个主键。我们可以选择任何候选键作为主键。 未被选为主要的其他候选键称为备用键。

如果主键具有多于一列(或多个属性),则称为复合键。

+1

想知道您对'Unique Key'的看法! – KGhatak 2016-06-29 10:43:49

+0

唯一键允许NULL值。但是,主键或候选键不允许NULL值。 – 2018-01-02 13:42:14

候选键 - 这是一列可以唯一标识数据库表的特定行或实例的所有列。您的护照ID是候选人密钥的一个很好的例子,当使用此ID时,您可以检索与该特定人员相关的人名,姓氏和其他详细信息。

主键 - 特定数据库表上可能有几个候选键,它们是唯一的,可用于标识表中的特定实例,例如,车辆注册号码,底盘号码,发动机序列号等......但请记住,只能有一个候选键将用作主键。 候选键与主键之间的区别: - )主键和候选键都可以唯一标识数据库表中的记录。

2)主键和候选键都具有约束UNIQUE和NOT NULL。

3)主键或候选键可以是表中的单列或多列的组合。

+0

这是一个不完整的答案。唯一的关键是没有提到任何地方 – 2018-01-02 13:39:54