题目:主键 超键 候选键 外键是什么
定义
超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!
主键(primary key): 用户选作元组标识的一个候选键程序主键
外键(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。
举例
比如有如下数据:
| 学号 | 姓名 | 性别 | 年龄 | 系别 | 专业 |
|---|---|---|---|---|---|
| 20020612 | 李辉 | 男 | 20 | 计算机 | 软件开发 |
| 20060613 | 张明 | 男 | 18 | 计算机 | 软件开发 |
| 20060614 | 王小玉 | 女 | 19 | 物理 | 力学 |
| 20060615 | 李淑华 | 女 | 17 | 生物 | 动物学 |
| 20060616 | 赵静 | 男 | 21 | 化学 | 食品化学 |
| 20060617 | 赵静 | 女 | 20 | 生物 | 植物学 |
超键
在关系中能唯一标识元组的属性集称为关系模式的超键。
于是我们从例子中可以发现 学号是标识学生实体的唯一标识。那么该元组的超键就为学号。
除此之外我们还可以把它跟其他属性组合起来,比如:
(学号
,性别
)
(学号
,年龄
)
这样也是超键.
候选键
不含多余属性的超键为候选键。
根据例子可知,学号是一个可以唯一标识元组的唯一标识,因此学号是一个候选键,实际上,候选键是超键的子集,比如 (学号,年龄)是超键,但是它不是候选键。因为它还有了额外的属性。
主键
用户选择的候选键作为该元组的唯一标识,那么它就为主键。
简单的说,例子中的元组的候选键为学号,但是我们选定他作为该元组的唯一标识,那么学号就为主键。
外键
外键是相对于主键的,比如在学生记录里,主键为学号,在成绩单表中也有学号字段,因此学号为成绩单表的外键,为学生表的主键。
总结
主键为候选键的子集,候选键为超键的子集,而外键的确定是相对于主键的。
资源传送门:自己搭建的博客地址:梦魇回生的博客https://gain-wyj.cn/
「❤️ 感谢大家」
如果你觉得这篇内容对你挺有有帮助的话:
点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-) 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。 觉得不错的话,也可以阅读近期梳理的文章(感谢各位的鼓励与支持🌹🌹🌹): 计算机下SSL安全网络通信(420+👍) 梦魇回生的博客:https://gain-wyj.cn/(680+👍) 【震惊】手把手教你用python做绘图工具(580+👍) 【算法分析】——快速幂算法(160+👍) 数据可视化:利用Python和Echarts制作“用户消费行为分析”可视化大屏🚀🚀🚀(210+👍) 手把手教你进行pip换源(230+👍) 用python实现前向分词最大匹配算法(220+👍) 教你用python操作摄像头以及对视频流的处理(240+👍) 汇总超全的Matplotlib可视化最有价值的 50 个图表(附完整 Python 源代码)(一)(240+👍) 小程序云开发项目的创建与配置(240+👍)


点分享

点点赞

点在看

文章转载自做一个柔情的程序猿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。






