超键(super key):在关系中能唯一标识元组的属性集,里面可能包含很多能唯一标识元组的属性
候选键(candidate key):不含有多余属性的超键,即它里面的属性一旦去掉任何一个,它就不是超键
主键(primary key):用户选作元组标识的一个候选键
学号 | 姓名 | 性别 | 年龄 | 系别 | 专业 |
---|---|---|---|---|---|
20020612 | 李辉 | 男 | 20 | 计算机 | 软件开发 |
20060613 | 张明 | 男 | 18 | 计算机 | 软件开发 |
20060614 | 王小玉 | 女 | 19 | 物理 | 力学 |
20060615 | 李淑华 | 女 | 17 | 生物 | 动物学 |
20060616 | 赵静 | 男 | 21 | 化学 | 食品化学 |
20060617 | 赵静 | 女 | 20 | 生物 | 植物学 |
能作为超键的有{学号}{学号,姓名}{学号,性别}{性别,年龄}... 只要能将各行的记录唯一标识出来的,都可以作为超键;
对于{学号,姓名},{学号,性别}...等超键,它们不是候选键,因为它们去掉了“姓名”或者“性别”之后,变成的{学号}依旧是一个超键。
任何的候选键都可以作为主键,这取决于用户的选择
网友评论