数据库 超键、候选键、主键、外键
发布日期:2021-10-01 22:19:57 浏览次数:7 分类:技术文章

本文共 900 字,大约阅读时间需要 3 分钟。

前言:

一说到键,总感觉迷迷糊糊,于是总结一下它们之间的区别。
一、超键:
超键:在关系模式中,能唯一标识元组的属性集称为超键。

二、候选键:

候选键:如果一个属性集能唯一标识元组,且有不包含多余属性,那么这个属性集称为候选键(候选键是没有多余属性的超键)。

三、主键:

主键:关系模式中用户正在使用的候选键称为主键。一般,如不加说明,键是指主键。

四、外键:

外键:在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说是外键。

举例:

光讲了定义,相当于没有说,我们通过一个例子来理解什么是超键、候选键、主键及外键。

学号 姓名 性别 年龄 学院 专业
20170101 任雅琪 22 心理 心理
20170102 李润霞 21 生科 生科
20170104 景晓芳 20 教育 数学
20170106 佟彤 20 化材 化学
20170107 柴一帆 19 艺术 画画
20170108 张佳佳 18 音乐 唱歌

A:{学号}

B:{学号、姓名}
C:{年龄、学院}
D:{姓名、性别}
E:{姓名、专业}

说一下自己的理解吧。

A:{学号}可以唯一的标识一个元组,比如我们用学号为20170101就可以知道性别为女,名字为任雅琪的人。由于没有多余的属性,所以{学号}既可以称为一个超键,也可以称为一个候选键。
B:{学号、姓名}也可以唯一的标识一个元组,但是这个集合里的姓名属性是不必要的,也就是多余的,即如果没有{姓名}这个属性,那么这个集合{学号、姓名}也可以唯一确定一个元组。由于有多余的属性,所以{学号、姓名}可以称为超键,但是不能称为候选键。
C:{年龄、学院}、D:{姓名、性别}、E:{姓名、专业}均可以唯一的标识一个元组,并且其中每一个属性均是必须的,去掉任意一个属性,那么其所在的集合便不能唯一的标识一个元组,所以C、D、E均可以称为超键,也可以称为候选键。

总结:

候选键可以称为超键,但超键不一定可以称为候选键。候选键的属性一定不多余,但超键的属性不一定均有用。用集合的关系来说就是候选键隶属于超键,而主键为候选键中的一个元素。

转载地址:https://blog.csdn.net/j15533415886/article/details/78240805 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【ASP.NET】总结
下一篇:【软考之旅】网络层次与主要设备对应关系

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月20日 13时45分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

php模拟测试,使用模拟进行单元测试(PHP) 2019-04-21
java extends e,java泛型中的? extend E 和 ? super E 2019-04-21
php 上传头像 裁剪插件,PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁_PHP教程 2019-04-21
php workerman怎么样,workerman怎样完成高并发_PHP开发框架教程 2019-04-21
c语言数组124048,根据GPS经纬度判断当前所属的市区 2019-04-21
c语言 迷宫图形界面 动态,C语言实现迷宫求解问题(详细思路+附源代码) 2019-04-21
百度地图 轨迹回放 android,【移动端】百度地图之历史轨迹回放 2019-04-21
p30手机更多鸿蒙,搭配麒麟980的华为P30还能升级到鸿蒙吗?同意网友的回答 2019-04-21
鸿蒙os推送计划,鸿蒙OS今年计划推送3亿终端 2019-04-21
html 时间控件 只选择年,求一个移动端日期选择插件(只选择年月)? 2019-04-21
交替性注意力_儿童交替性斜视怎么治 2019-04-21
rabbitmq接口异常函数方法_Rabbitmq消息服务器通讯异常: name must not be blank 2019-04-21
linux 重启kettle服务_kettle在linux启动spoon.sh报错(示例代码) 2019-04-21
字符串算法 金策_GitHub - 662d7/shareOI: OI & ACM 课件分享 2019-04-21
linux建立ftp suse_SUSE Linux 安装FTP 2019-04-21
snmpwalk 获取端口流量_通过snmpwalk命令计算接口速率 2019-04-21
刷b站点击量_B站首席运营官:月活首次突破2亿,日均视频播放量13亿次 2019-04-21
android 复制文件到指定文件夹_如何在 Linux 上复制文件/文件夹到远程系统? 2019-04-21
k歌的录音伴奏合成技术如何实现_天天唱的卡拉OK,你知道是如何诞生的吗? 2019-04-21
getchar()到底怎么用_微量元素肥料到底怎么用? 2019-04-21