什么是主键、外键???
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。主键是能确定一条记录的唯一标识。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
主键 | 外键 | 索引 | |
定义 | 唯一标识一条记录,不能有重复的,不允许为空 | 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 | 该字段没有重复值,但可以有一个空值 |
作用: | 用来保证数据完整性 | 用来和其他表建立联系用的, 保持数据的一致性 | 是提高查询排序的速度 |
个数: | 只能有一个 | 一个表可以有多个外键 | 一个表可以有多个惟一索引 |
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
主键 |