数据库——什么叫“候选键”

问:候选键是什么?
答:候选键——在一个关系(表)中,能够唯一标识一条记录的属性或属性组。也就说,通过候选键的值,我们可以准确地找到关系中的某一行数据。

问:候选键有什么特点?

答:候选键具有唯一性,关系中不可能存在两个记录(元组)有相同的候选键值。

问:如果我的候选键由两个或多个属性组成(a,b,c),删掉一个,剩下的还算候选键吗?

答:不算,候选键中的每一个属性都对唯一标识记录起着关键性的作用。如果你移除了一个属性发现还可以找到唯一标识记录,说明原来的并不是候选键。

问:主键和候选码有什么关系?

答:在一个关系中只能对应一个主键,主键则是从候选码中挑选。若有多个候选码,也可多个候选码合成一个主键(根据实际情况合,不能想当然,在某些情况下,可能需要组合多个属性来确保唯一性,这样才可以合)。

        如有A、B、C三个候选码,主码可以是(A)(B)(C)(A,B)(AC)(B,C)

(A,B,C)

例子:

假设我们有一个名为“员工”的表,包含以下属性:员工号、姓名、身份证号、部门号。在这个表中,有可能存在多个员工具有相同的姓名或部门号,但每个员工的员工号身份证号都是唯一的。

  • (员工号)是一个候选键,因为它能够唯一地标识每一条员工记录。
  • (身份证号)也是一个候选键,因为它同样具有唯一性。
  • (姓名,部门号)则不是一个候选键,因为即使姓名和部门号组合在一起,也可能存在多条记录具有相同的组合值。

如果我们尝试从(员工号)这个候选键中移除“员工号”这个属性,那么我们就失去了唯一标识员工的能力,因为不再有任何属性能够单独地标识一条记录。因此,(员工号)是一个最小的候选键,因为它包含了实现唯一性所需的最少属性。

同样地,(身份证号)也是一个最小的候选键,因为仅仅通过身份证号这一个属性,我们就能唯一地标识一条员工记录。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值