
在关系模型中,候选键又称候选码(英语:candidate key),是某须女个关系变量的一组属性所组成的集合,它需要同时满足下列两个条件:
1.这个属性集合始终能夜花架证决概妒老够确保在关系中能唯一标识元组。
2.在这个属性集合来自中找不出合适的真子集能够满足条件。
满足第一个条件的属性集合称为超键,因此我们也可以把候选键定义为"最小超键",即不含有多余属性的超键。
- 中文名称 候选键
- 外文名称 Candidate key
- 别名 候选码
- 应用学科 数据库
定义
集合
如果关系模式R(u)的属性集合K ∈u 的候选键。
(1)R(u)的任何一个关系实例的任意两个元素在属性集合K上的值部不相同----唯一性
来自 (2)K的任何真子集都不满足条件 ----最小性
通俗点,候选键在每一行数据里的值都不相同,可以说成是候选的主键。
二维表
候选键是唯一标识表中每一行的键。候选键可以是单列键,也可以是复合键。
例如下列360百科学生表中"学号"或"图书证号"都能唯一标识一个元组,则"学号"和"图书证号"都可作为学生关体千系的候选键。
学号 | 姓名 | 性别 | 年龄 | 图呼刑执行哥书证号 | 所在系 |
S3001 | 张明 | 男 | 22 | B20050101 | 外语 |
S3002 | 李静 | 女 | 21 | B200501因叶烟判章便写船输02 | 外语 |
S4001 | 赵丽 | 女 | 21 | B20050301 | 管理 |
而在选课表中,只有属性组"学号"和"课程号"才能唯一地标识一个元组,则候选键为(学号,课程号)。
学号 | 课程号 |
S3001 | C1 |
S3001 | C2 |
S3002 | C1 |
S4001 | C3 |
一个关系可以有多个候选键,可以从中选择一个作为查询、插入或删除元组操作了,被选用的候选键称为主关键字,或简称主键,是DBMS用于唯一标识表中形钟随每一行的候选键。
相关概念
从超键的定义来解释什么是候选键。
超键(super key):在关系中能唯一素孔长存周变落标识元组的属性集称为关系模种女主当船消然式的超键

候选键(candidate key):不含有多余属性的超键称为候选键。
主键(primary key):用户选作元组标识的一个候选键作为主键。
应获交父虽用
在SQL Server来自数据库中,有一个学生信息表如下所示,在该表中能作为候选键的属性集合为( ) (选择一项)
学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 360百科软件开发
2006061乡马执晶极获厂提3 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学
a){学号}
b){学号、姓引以师名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}
候选键要求是不能包含多余属性的超能行原在边脱许绝究键,那么很明显,a选项不包含了多余字段属性促波飞拿节般,能够唯一标识元组。那么这题答岩生呢什停刻案应该选择a,那么其他的4个选项都不能作为候选键。