MySQL中超键、主键及候选键的区别是什么

MySQL中超键、主键及候选键的区别是什么

关于超键和主键候选键的区别

最近在看MySQL的书时遇到了一个问题:

既然已经有了主键这个概念,主键已经能够满足需求了,那为什么还要有候选键这种东西?候选键的作用是什么呢?给了它一个候选键的定义但是它真的并没有什么乱用。

抱着刨根问底拦不住的心态我去网上搜了搜,看了看大神们的解释,看得我还是有些懵懂,于是想在这里梳理一下,帮助自己理解的更通透,也希望如果有理解错的地方能有人指点一下 下面就是我的一些理解:

其实主键和超键还好一些,比如有这么一个表:

MySQL中超键、主键及候选键的区别是什么

表写的有些糙,凑合看吧。

超键

在关系中能少数标识元组的属性集称为关系模式的超键。 注定义中的“属性集”,超键可以是一个很大的集合,只要他能确定是哪一行就行,因此’id’,‘user’,‘pwd’,‘section’,’name’都可以是超键的集。

候选键

不含有多余属性的超键,比如在上面的超键中,’id’自己就可以独自确定是哪一行,所以他自己可以是一个候选键,除去它以外的另外四个也可以是候选键,但是这五个放在一起因为有了多余的列,他们就不是候选键。(另外四个可以是候选键的原因是每一列都有可能有重复的内容)

主键

在所有的候选键里面找一个作为主键供使用,也就是说可以是id,也可以是另外四个的合体,也有可能是其他的选择,只要能保证选择的集合能少数确定即可。

总结来说,候选键是超键的子集,主键是候选键的子集。

其实整理了这么多以后我还是不明白候选键的作用到底是什么,其实他可能就是作为一个候车厅一样,车上只剩下一个座位,有几个主键在候车厅里坐着,告诉你:“我们几个人都买票了,都有资格上车,你选谁上,我们谁就跟你去上车”,应该就是这样。

理解超键、候选键、主键概念及关系

基本概念

  • 超键(super key):在关系中能少数标识元组的属性集称为关系模式的超键/码。

  • 候选键(candidate key):不含有多余属性的超键称为候选键,即其真子集不再是超键。

  • 主键(primary key):用户选作元组标识的一个候选键称为主键,是候选键之一。

关系

候选键是超键的子集,主键是候选键中的一个。

举个栗子

考虑属性集(身份证号,姓名 ,性别 ,年龄),假设无重名

a.其中超键有:

  • 身份证号、姓名、(姓名,性别)、(姓名,性别,年龄)等

  • –这里可以看出,超键是能少数确定一个人的属性组

b.超键中的候选键

  • 身份证号、姓名少数,而且没有多余属性,所以是一个候选键

  • –这里可以看出,候选键是没有多余属性的超键

c.选择主键

  • 用户可根据自己喜好考虑选择姓名或者身份证号作为主键

  • –主键是选中的一个候选键

还不明白?

实例:

在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( ) (选择一项)

学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学

a){学号}
b){学号、姓名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}

到此,相信大家对“MySQL中超键、主键及候选键的区别是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文章标题:MySQL中超键、主键及候选键的区别是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/23144

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月6日
下一篇 2022年9月6日

相关推荐

  • windows浩辰cad看图王图纸打开不显示怎么解决

    解决方法: 方法一: 1、首先我们要确保打开的图纸格式正确。 2、软件支持打开DWG、PDF、DXF这三种图纸格式。 3、此外,如果图纸本身数据错误也会导致显示不出来的问题。 方法二: 1、图纸太大也可能会导致无法在浩辰cad看图王中打开。 2、这时候我们需要在CAD本体中打开图纸,也可以用浩辰ca…

    2022年9月21日
    72400
  • windows驱动精灵ahci驱动怎么安装

    驱动精灵ahci驱动: 答:驱动精灵是无法安装ahci驱动的。 在硬盘IDE模式下是无法发现achi驱动的,所以无法安装。 而改成ata模式也会造成蓝屏。 ahci驱动安装方法: 1、按下“win+r”打开运行,输入 regedit。 2、依次打开 HKEY_LOCAL_MAHCINESystemC…

    2022年9月10日
    85200
  • vlookup函数列序表v不出来如何解决

    解决方法 1、首先,匹配模式一般选择“精确匹配”,只有特殊情况才要用近似匹配。 2、如果你发现自己使用的近似匹配,例如函数最后为“true”或“1”就要更改。 3、其次,需要确保你的表格中没有空格。 4、我们可以使用替换功能,将所有空格全部替换成无。 5、最后,还要保证结果和查找数据的格式是一样的。…

    2022年9月22日
    72600
  • windows 0xc000007b修复了没用怎么解决

    解决方法: 方法一: 1、首先点击左下角开始菜单,找到“windows系统”下的“控制面板” 2、然后点击其中的“卸载程序”,将图示的两个程序给卸载。卸载完成后再重新下载安装。 3、重装完成后再去尝试打开软件或游戏应该就可以了。 方法二: 1、如果重装完vc还是启动不了,那么可以尝试重置系统。 2、…

    2022年9月15日
    44600
  • imazing请通过usb连接问题怎么解决

    imazing请通过usb连接解决方法 1、我们名列前茅次使用imazing连接电脑和手机是必须要使用usb线的,将usb线一头插在手机上一头插在电脑上。 2、连上之后我们需要在手机上进行确认。 3、确认信任之后就可以使用了。 到此,相信大家对“imazing请通过usb连接问题怎么解决”有了更深的…

    2022年9月16日
    51200
  • 计算机怎么完成信息处理任务

    计算机通过单条指令完成信息处理任务;计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程;信息处理是指获取信息并采用某种方法和设备,按一定的目的和步骤对原始信息进行加工,使之转变成可利用的有效信息过程。 本教程操作环境:windows10系统…

    2022年9月16日
    55900
  • usmt.ppkg文件有什么作用

    “usmt.ppkg”是windows自带的系统还原功能的系统备份文件;Windows系统还原是在不需要重新安装操作系统,也不会破坏数据文件的前提下使系统回到原有的工作状态,PBR恢复功能的备份文件就是“usmt.ppkg”。 本教程操作环境:windows10系统、DELL G3电脑。 usmt.…

    2022年9月10日
    4.3K00
  • echarts如何使用

    echarts使用方法 1、要使用Echarts的前提就是要引入echarts文件, echarts.js文件可以去echarts的官方中文网站里下载 2、进入官网之后,选择一个你想要绘制的图形。 3、这里我们选择折线图,然后看一下各个部分的具体含义。 title就是图标中的标题,在图标的左上角 4…

    2022年9月26日
    39000
  • 电脑0x000000d1原因是什么及怎么解决

    0x000000d1蓝屏代码是什么意思: 1、内存条质量不高导致了接触不良或者老化。 2、硬件的驱动程序不匹配或者损坏。 3、系统遭病毒破坏某些硬件配置文件被更改。 4、有几个软件冲突。 0x000000d1解决方法: 方案一: 1、将BIOS设置为默认值。 2、拆开主机,检查所有连接(可以重新插拔…

    2022年9月18日
    86300
  • cad背景如何调成黑色

    cad背景调成黑色的方法: 1、首先打开cad,右键工具栏,打开“选项” 2、接着进入上方“显示”选项卡。 3、然后打开其中的“颜色”设置。 4、随后选中“背景”选项。 5、再将右边的颜色改为“黑” 6、改完后,点击右下角“应用并关闭”即可将背景调成黑色。 “cad背景如何调成黑色”的内容就介绍到这…

    2022年8月30日
    49500
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部