一:什么是主键和外键?
主键:关系型数据库中,有多个字段,其中有一个字段可以唯一标识一条记录,则称这个字段为主键!
例如:
学生表(姓名,学号,成绩)
则学号可以作为主键
省份证(身份证号,姓名,生日年月)
则身份证号可以作为主键
外键:关系型数据库中,外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
例如:
A表中的一个字段,是B表的主键,那他就可以是A表的外键。
例如:
学生表(学号,姓名,班级)
学号是学生表的主键
成绩表(学号,科目,成绩)
学号不是成绩表的主键,但是学号是学生表的主键.所以成绩表的学号则是学生表的外键!!
主键 | 外键 |
---|---|
唯一标识一条记录,唯一且非空 | 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 |
用来保证数据完整性 | 用来和其他表建立联系 |
一个表中主键只能有一个 | 一个表可以有多个外键 |