19年面试题
2019-08-10 19:13
13 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xinglingdi/article/details/99096602
题目:主键 超键 候选键 外键是什么
定义
超键 (super key): 在关系中能唯一标识元组的属性集称为关系模式的超键
候选键 (candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!
主键 (primary key): 用户选作元组标识的一个候选键程序主键
外键 (foreign key):如果关系模式 R 中属性 K 是其它模式的主键,那么 k 在模式 R 中称为外键。
1.超键
在关系中能唯一标识元组的属性集称为关系模式的超键。
于是我们从例子中可以发现 学号是标识学生实体的唯一标识。那么该元组的超键就为学号。
除此之外我们还可以把它跟其他属性组合起来,比如:
(学号,性别)
(学号,年龄)
这样也是超键。
2.候选键
不含多余属性的超键为候选键。
根据例子可知,学号是一个可以唯一标识元组的唯一标识,因此学号是一个候选键,实际上,候选键是超键的子集,比如(学号,年龄)是超键,但是它不是候选键。因为它还有了额外的属性。
3.主键
用户选择的候选键作为该元组的唯一标识,那么它就为主键。
简单的说,例子中的元组的候选键为学号,但是我们选定他作为该元组的唯一标识,那么学号就为主键。
4.外键
外键是相对于主键的,比如在学生记录里,主键为学号,在成绩单表中也有学号字段,因此学号为成绩单表的外键,为学生表的主键。
总结
主键为候选键的子集,候选键为超键的子集,而外键的确定是相对于主键的。
相关文章推荐
- 毕业两年半总结+19年换工作面试总结
- 寒冬过后,19年跳槽面试必备四大知识技能
- 预测!19年上教资面试重点整理!
- 毕业两年半总结+19年换工作面试总结
- hadoop面试可能遇到的问题
- iOS面试之C语言
- 最基础、最全面的iOS面试题目
- 面试算法题:打印出如下图案(菱形)
- c++面试总结1
- Servle和jsp面试问题总结
- 收到面试邀请了
- 一次难忘的面试
- CSDN社区分享面试经历活动作品19——淡定的面试
- android面试集锦5-java基础3
- 谷歌面试算法总结
- 【LeetCode-面试算法经典-Java实现】【002-Add Two Numbers (单链表表示的两个数相加)】
- 【笔试/面试】—— linux 拾遗(一)
- 面试答案知多少
- 【面试总结】【远光软件】【java开发工程师】
- zookeeper任务与面试 重点(含答案)