主键
能够唯一标识表中某一行的属性或属性组。一个表只能有一个主键
作为外键维护两个表之间数据的一致性
保证记录的唯一和非空
外键
用于建立和加强两个表数据之间的链接的一列或多列。外键约束主要用来维护两个表之间数据的一致性
表的外键(必须是索引)就是另一表的主键(数据类型相似 int和tinyint可以,而int和char则不可以),外键将两表联系起来。一般情况下, 要删除一张表中的主键必须首先要确保其它表中的没有相同外键(即该表中的主键没有一个外键和它相关联)
M 主表 F 外键表(mid)
1 |
|
- 有关联动作
ON DELETE/ON UPDATE
F跟随M - F.mid插入的值必须在M.id存在
- 无有关联动作M.id记录不能随便删除,先删除F中F.mid=M.id的记录
关联
1 |
|
ON DELETE、ON UPDATE表示事件触发限制,可设参数:
RESTRICT(限制外表中的外键改动)
CASCADE(跟随外键改动)
SET NULL(设空值)
SET DEFAULT(设默认值)
NO ACTION(无动作,默认的)
索引
快速地寻找那些具有特定值的记录。主要是为了检索的方便,是为了加快访问速度, 按一定的规则创建的, 一般起到排序作用。所谓唯一性索引,这种索引和前面基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一,可以为空。