什么是主键?什么是外键?什么是索引?他们分别有什么作用?
键:唯一标识表中的所有行的一个列或一组列。
主键(primary key) 不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。
表中可以有不止一个键唯一标识行,每个键都称作候选键。只有一个候选键可以选作表的主键,所有其它候选键称作备用键 。尽管表不要求具有主键,但定义主键是很好的做法。
外键(foregin key) : 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
例如:成绩表中的学号不能做成绩表的主键(因为一个学生可以有多行成绩数据),但每行的学号和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 。(典型的一对多关系)