超键,候选键,主键
来源:互联网 发布:二维数组去除重复 编辑:程序博客网 时间:2024/06/06 08:37
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
比如一个小范围的所有人,没有重名的,考虑以下属性
身份证 姓名 性别 年龄
身份证唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
–这里可以看出,超键的组合是唯一的,但可能不是最小唯一的
身份证唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
–这里可以看出,候选键是没有多余属性的超键
考虑输入查询方便性,可以选择 身份证 为主键
也可以 考虑习惯 选择 姓名 为主键
–主键是选中的一个候选键
一题搞懂什么是候选键
看下题目先
在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( ) (选择一项)
学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学
a){学号}
b){学号、姓名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}
可能大家不知道如何来选择。如果这个题目我们可以正确的解答,那么对于超键以及候选键和主键的概念已经有很深刻的认识了。
看下概念:
超键:在关系中能惟一标识元组的属性集称为关系模式的超键。
候选键:不含有多余属性的超键称为候选键。也就是在候选键中,若要再删除属性就不是键了。
主键:用户选作元组标识的一个候选键称为主键。
u<6{mzh=|M
透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。
我们分析一下上面的题目,abcde5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一条数据记录(实体)。
请注意我们的要求:候选键。候选键要求是不能包含多余属性的超键,我们看一下答案b。在答案b中,如果我们不使用姓名也可以惟一的
标识一条数据实体,可以说姓名字段在这里是多余的。那么很明显,b选项包含了多余字段属性。那么这题答案应该选择b
那么其他的4个选项都可以作为候选键,假设很幸运,a)学号 被选择作为用户正在使用的候选键来惟一标识元组了,那么他很幸运的
获得了主键的称号”
完全函数依赖
如果非主属性B函数依赖于构成某个候选关键字的一组主属性A,而且A的任何一个真子集不能被B函数依赖,则称B完全函数依赖于A;反之,若B函数能依赖于A的真子集,则称B部分函数依赖于A。
记为:如图
并举一例:
例:成绩表(学号,课程号,成绩)关系中,
完全函数依赖:(学号,课程号)→ 成绩,学号 -\→ 成绩,课程号 -\→ 成绩,所以(学号,课程号)→ 成绩 是完全函数依赖
- 超键,候选键,主键
- 候选键 主键 超键
- 超键 候选键 主键
- 超键,候选键,主键
- 主键,候选键,超键
- 超键、主键、候选键
- 超键,候选键,主键
- 超键 主键 候选键 可选键
- 如何理解超键、候选键、主键.
- 超键、候选键、主键的区别
- 超键、候选键和主键
- 超键、候选键、主键区别?
- 关系模型 超键 候选键 主键
- 超键、候选键、主键区别?
- 超键、候选键和主键
- 超键、候选键和主键
- 超键、候选键、主键区别?
- 【自学考试】超键、候选键、主键
- Linux C——poll函数实现多路复用
- 51nod 1085 背包问题
- Java之处理流
- NOIP2013复赛提高组day1(A:转圈游戏 B:火柴排队 C:货车运输)
- ROS语音合成-----sound_play应用
- 超键,候选键,主键
- 51nod 1086 背包问题 V2
- php异常处理
- 51NOD 1402 最大值 By Assassin
- VR,AR与MR区别,技术交流兴趣部落
- 缘
- 51nod 1087 1 10 100 1000
- 背包问题
- 51nod 1088 最长回文子串