mysql数据库:超键、候选键、主键与外键

news/2024/9/29 15:12:43/

mysql数据库超键候选键主键外键


💖The Begin💖点点关注,收藏不迷路💖

1、超键(Superkey)

超键是能唯一确定表中每行数据的属性集。它可以是单个属性或多个属性的组合。

示例:

一个学生表(Student),包含学号(ID)、姓名(Name)、年龄(Age)和班级(Class)四个字段。

其中,学号(ID)单独、姓名+班级(Name+Class)组合,以及学号+姓名+年龄+班级的全集都可以作为超键,因为它们都能唯一标识表中的一行数据。

IDNameAgeClass
001张三201班
002李四212班
003王五201班
004赵六223班

2、候选键(Candidate Key)

候选键是最小的超键,即没有任何多余属性的超键。一个表可以有多个候选键

示例:

在上表中,如果假设学号(ID)是唯一的,并且没有其他属性与学号组合后还能保持唯一性,那么学号(ID)就是一个候选键。同时,如果姓名+班级的组合在表中也是唯一的(尽管这种情况较少见),那么它也是一个候选键

3、主键(Primary Key)

主键是表中的一个特殊候选键,用于唯一标识每行数据。每个表只能有一个主键,且主键的值不能为空。

示例:

在上表中,我们通常会选择学号(ID)作为主键,因为它能唯一标识每一个学生,并且符合主键的所有要求。

4、外键(Foreign Key)

外键是表中的一个字段,其值必须是另一个表的主键的值。它用于在两个表之间建立关联,确保数据的参照完整性。

示例:

假设我们还有一个班级表(Class),其中包含班级ID(ClassID)和班级名称(ClassName)两个字段,且班级ID是主键

在学生表中,我们可以添加一个班级ID(ClassID)字段作为外键,这个字段的值必须对应于班级表中的某个班级ID,从而在学生表和班级表之间建立关联。这样,当我们查询某个学生的信息时,可以通过学生表中的班级ID快速找到该学生所属的班级信息。

班级表 (Class)

ClassIDClassName
C001一年级1班
C002一年级2班
C003二年级1班

学生表 (Student)

IDNameAgeClassID
001张三20C001
002李四21C002
003王五20C001
004赵六22C003

简洁来说,超键包含候选键候选键中最常用的是主键,而外键用于表间关联。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

http://www.ppmy.cn/news/1531971.html

相关文章

数字人直播屡次违规真相曝光!有哪些技术可以有效解决?

随着数字人直播的应用频率不断升高,其所蕴含着的市场需求和收益潜力日渐显现,让其用户规模得以持续扩大的同时,也让不少创业者都有了找数字人源码厂商搭建数字人直播系统的计划。在此背景下,与数字人直播违规吗相关的各类话题和答…

Unity3D Shader的阴影部分法线效果详解

前言 在Unity3D开发中,阴影处理是提升场景真实感和视觉质量的重要一环。法线贴图(Normal Mapping)作为一种高效的纹理映射技术,在增强模型表面细节和凹凸感方面扮演着重要角色。本文将详细解析UnityShader中阴影部分的法线效果&a…

PHP智慧教育新篇章优校管理系统小程序源码

智慧教育新篇章 —— 优校管理系统 🚀【开篇启航:智慧教育的浪潮已至】 在这个日新月异的时代,教育也在悄然发生着变革。随着科技的飞速发展,智慧教育已成为教育领域的新风尚。而“优校管理系统”,正是这股浪潮中的佼…

游戏怎么录制?王者荣耀游戏录制指南:iOS与电脑端全面教程

在王者荣耀的战场上,每一个五杀、每一次极限逃生都可能成为你游戏生涯中的高光时刻。但这些瞬间往往转瞬即逝,如何将它们永久保存,成为你游戏历程中不可磨灭的印记呢?本文将为你揭晓答案。无论你是手持iPhone的iOS用户&#xff0c…

如何设置MySQL分布式架构主键ID,为什么不能使用自增ID或者UUID做主键?

MySQL分布式架构主键ID的设置方法 雪花算法(Snowflake) 原理:雪花算法是一种生成分布式唯一ID的算法。它由64位二进制数组成,结构如下:1位符号位(固定为0) 41位时间戳(表示从一个固…

2024最新!!Java后端面试题(3)看这一篇就够了!!

hello uu们 感谢收看!!!!我最近听了一首歌《21》,真的很感慨,马上步入20的我也感觉时间真的飞快...望大家都能过上理想的生活,不负内心的所托... 正如人民日报所言,“请你努力&…

Qt网络通信之TCP

前言 Qt中的TCP通信还是比较简单的,它基于QTcpSocket和QTcpServer这两个类。 正文 直接看图 服务器端选择好监听地址和端口号后就直接开始监听 客户端选择相应的服务器地址和端口进行TCP连接 连接成功 在输入框输入信息可以实现服务器端和客户端的相互通信&am…

蓝桥杯【物联网】零基础到国奖之路:十三. 主板模版配置

蓝桥杯【物联网】零基础到国奖之路:十三. 主板模版配置 一,硬件引脚配置1,按键2,LED3,USART24,LORA5,OLED6,继电器 二,CubeMX配置1,时钟树 一,硬件引脚配置 …