news 2026/9/2 23:16:28

数据库核心概念:候选码、主码与外码详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库核心概念:候选码、主码与外码详解

一句话先记住:
候选码是“能唯一标识一行”的最小属性集;从中挑一个当主码;外码是“引用别人主码”的属性;主属性是任何候选码里的成员。

下面分开说清楚:

  1. 候选码(Candidate Key)
    定义:关系里能唯一标识一条元组、且去掉其中任一属性就不再唯一的最小属性集合。
    特点:

    • 唯一性:不同元组在该属性集上取值绝不重复。
    • 最小性:再少一个属性就失去唯一性。
    • 可以有多个:例如学生表里(学号)和(身份证)都可做候选码。
  2. 主码(Primary Key)
    定义:人为选定、用来在表里唯一区分行的那个候选码。
    特点:

    • 只能选一个;DBMS 会自动为它建唯一索引并强制 NOT NULL。
    • 其余候选码如果也声明,就叫“唯一键/候补键(Alternate Key)”。
  3. 外码(Foreign Key)
    定义:一个表(子表)里的属性或属性集,其取值必须要么全空,要么等于被参照表(父表)主码的某个现有值
    作用:建立两个表之间的参照完整性约束。
    例子:
    选课表(学号, 课号, 成绩) 里的“学号”引用学生表的主码“学号”;选课表的“学号”列就是外码。

  4. 主属性(Prime Attribute)
    定义:任何一个候选码里包含的属性都称为主属性。
    非主属性(Non-prime Attribute):不属于任何候选码的属性。
    例子:
    若候选码有(学号)和(身份证),那么学号、身份证都是主属性;姓名、年龄等是非主属性。

记忆口诀
“候选”是最小唯一键,
“主码”是选定的真命键;
“外码”拿来连别人,
“主属性”一切候选都包含。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 10:40:05

实时流式分类方案:云端GPU+消息队列,延迟低于100ms

实时流式分类方案:云端GPU消息队列,延迟低于100ms 引言:物联网日志处理的挑战与机遇 想象一下你管理着一个大型物联网平台,每天有成千上万的设备在生成日志数据。这些数据就像不断涌来的快递包裹,需要快速分门别类处…

作者头像 李华
网站建设 2026/8/29 9:11:23

AI单目测距保姆级教程:MiDaS模型部署与热力图生成步骤详解

AI单目测距保姆级教程:MiDaS模型部署与热力图生成步骤详解 1. 引言:为什么需要AI单目深度估计? 在计算机视觉领域,从一张普通2D图像中感知3D空间结构一直是极具挑战性的任务。传统方法依赖双目立体视觉或多传感器融合&#xff0…

作者头像 李华
网站建设 2026/8/31 19:34:24

转行网络安全门槛高吗?

在数字化时代,网络安全是一个非常重要的领域,也是近两年兴起的热门行业,有着庞大的市场需求量,因此也成为就业无门但想要转行的人心中比较向往又心存疑惑的行业,那么转行网络安全门槛高吗?我们来看看吧。首先&#xf…

作者头像 李华
网站建设 2026/9/2 23:12:05

MiDaS部署避坑指南:常见问题与解决方案

MiDaS部署避坑指南:常见问题与解决方案 1. 引言:AI 单目深度估计 - MiDaS 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。MiDaS(Monocular Depth Estimation)由Intel ISL实验室提出&#x…

作者头像 李华