候选键的定义

数据库候选键有时成为主要键

一种候选人钥匙是唯一地识别数据库记录的属性的组合,而无需参考任何其他数据。每个表可能有一个或多个候选人。选择其中一个候选键作为表格主键。一个表只包含一个主键,但是它可以包含几个候选键。如果一个候选键由两个或更多列组成,则称为a复合钥匙

数据库
not-poloskun / Getty Images

候选键的属性

所有候选钥匙都有一些共同的属性。其中一个属性是,对于候选密钥的生命周期,用于识别的属性必须保持不变。另一个是该值不能为空。最后,候选密钥必须是唯一的。

例如,要具体而唯一地识别每个员工,公司可能会使用员工的社会安全号码。有些人共享相同的名字,姓氏和职位,但没有两个人使用相同的社会安全号码。

社会安全号码 第一个名字 位置
123-45-6780. 克雷格 琼斯 经理
234-56-7890 克雷格 比尔 联系
345-67-8900. 桑德拉 比尔 经理
456-78-9010 小丁 琼斯 联系
567-89-0120 桑德拉 史密斯 联系

候选钥匙的例子

某些类型的数据随便借鉴候选人:

  • 国际标准书籍号码:ISBNS唯一识别书籍和相关媒体。ISBN的发行受到行业门卫人员紧紧调节的,ISBN永远不会被出版商重新使用。
  • 银行账号:大多数银行不回收帐户号码。
  • 序列号: 虽然序列号在单个供应商的背景下,跨行业的管辖不受限制,序列号应始终是独一无二的。
  • 驾驶执照号码:通常,这些数字不重复。但是,从状态移动到州的人可以具有多个DL号码。
  • 国家提供商ID:美国医生和其他许可的医疗提供者每个人都有至少一个与他们独一无二的NPI,由美国卫生和人类服务部发布。

然而,有些类型的信息可能看起来是很好的候选信息,实际上证明是有问题的:

  • 电话号码:大多数运营商回收电话号码,个人订阅者可以同时使用多个电话号码。
  • 普遍价格代码: UPC是独一无二的,但是UPC块的所有者可以随意回收产品。
  • 医疗记录数字:MRNS通常在医院级别发布,没有任何关于这些标识符的结构和格式的国家指导。
  • 社会安全号码:虽然它们是理论上唯一的,但SSN确实得到回收,SSN欺诈是足够常见的,以使这个标识符跨大数据集进行问题。(在验证SSN的雇主的上下文中,这一挑战不是问题。)
这个页面有用吗?