云诺说 - 小程序开发 - 软件定制
当前位置: Mysql > mysql数据库主键、超键、候选键、外键分别是什么?

mysql数据库主键、超键、候选键、外键分别是什么?

2019-11-09 04:26 分类:Mysql 作者:云诺 阅读(4723)

版权声明:本文为博主原创文章,如果转载请给出原文链接:http://doofuu.com/article/4156197.html

定义
超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!
主键(primary key): 用户选作元组标识的一个候选键程序主键
外键(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。


举例
比如有如下数据:

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

1、超键
在关系中能唯一标识元组的属性集称为关系模式的超键。
于是我们从例子中可以发现 学号是标识学生实体的唯一标识。那么该元组的超键就为学号。
除此之外我们还可以把它跟其他属性组合起来,比如:
(学号,性别)
(学号,年龄)
这样也是超键.

2、候选键
不含多余属性的超键为候选键。
根据例子可知,学号是一个可以唯一标识元组的唯一标识,因此学号是一个候选键,实际上,候选键是超键的子集,比如 (学号,年龄)是超键,但是它不是候选键。因为它还有了额外的属性。

3、主键
用户选择的候选键作为该元组的唯一标识,那么它就为主键。
简单的说,例子中的元组的候选键为学号,但是我们选定他作为该元组的唯一标识,那么学号就为主键。

4、外键
外键是相对于主键的,比如在学生记录里,主键为学号,在成绩单表中也有学号字段,因此学号为成绩单表的外键,为学生表的主键。

总结
主键为候选键的子集,候选键为超键的子集,而外键的确定是相对于主键的。

「创作不易,你的支持是本站持续更新最大的动力!」

赞(0) 打赏

谢谢你请我喝奶茶*^_^*

支付宝
微信
1

谢谢你请我喝奶茶*^_^*

支付宝
微信

共有 0 条评论 - mysql数据库主键、超键、候选键、外键分别是什么?

博客简介

云诺说是一个致力于分享互联网编程技术交流、小程序开发、小程序源码分享、软件服务定制和生活记录的技术服务型学习博客网站。

微信 :LGY178888

职业 :小程序开发、软件定制

现居 :广东省-广州市-天河区

最近更新

友情链接

欢迎与本博客交换友情链接,本博客对交换链接的网站没有要求。如果您是本博客的友情链接网站,在遇到网站运行问题时,可以随时联系,我们将免费提供技术类支持! 申请交换友链

站点统计

  • 文章总数:170 篇
  • 草稿数目:0 篇
  • 分类数目:14 个
  • 独立页面:180 个
  • 评论总数:0 条
  • 访问总量: 854122次
  • 最近更新:2024年12月10日