● 表中除主键之外的其余属性都可被视为候选键,一个表可以有多个候选键。
● 候选键可以是多个列(属性)的组合。
超级键(Super Key)
超级键被定义为表中的一组属性,可以唯一地标识表中的每个记录。超级密钥是候选键的超集。
在上面定义的表中,超级键可以是:
● student_id:因为每行student_id数据都是唯一的,因此它可以用于唯一地标识每一行。
● (student_id, name):现在两个学生的姓名可以相同,但他们的学生ID不能相同,因此这个组合也可以是一个键。
● phone:因为每个学生的电话号码都是唯一的,因此,phone也可以是一个键。
所以它们都可以是超级键。
主键(Primary Key)
主键是最适合成为任何表的标识键的候选键,它可以唯一标识表中每条记录。
对于Student表,我们可以将student_id列作为主键。
复合键(Composite key)
复合键是由两个或多个唯一标识表中任何记录的属性组成的键。当表的任何单个属性都不能唯一地标识行时,我们就需要使用复合键。
注:共同形成复合键的属性不是独立或单独的键。
student_id | subject_id | exam_name | mark |
1 | 02 | PHP课程 | 90 |
2 | 02 | MySQL课程 | 80 |
在上面的是一个Score表,用于存储学生在特定科目中得到的分数。
在这个表中student_id,subject_id将形成主键,因此它是一个复合键。
备用键(Alternative key)
在所有候选键中,只会有一个被选为主键,其余键称为备用键或辅助键。
外键(Foreign Key)
外键是表中的属性值,充当另一个表的主键。因此,外键可用于将两个表链接在一起。
注:需要非常小心地在外键列中输入数据,因为输入错误的数据可能使两个表之间的关系无效。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
以上就是数据库中的键有哪些类型的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
如何用mysqladministrator备份mysql数据库
更多相关阅读请进入《数据库》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。