多对多关系
stevezhou 2015.01.10
理解概念: 索引 外键 一对一 一对多 多对多 父表 子表 联系表/连接表
----建立外键时的几个联级操作说明(如下图):
RESTRICT
同NO ACTION, 都是立即检查外键约束
NO ACTION
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作(这个是ANSI SQL-92标准,从mysql4.0.8开始支持)
CASCADE
在父表上update/delete记录时,同步update/delete掉子表的匹配记录 (On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用)
SET NULL
在父表上update/delete记录时,将子表上匹配记录的列设为null,要注意子表的外键列不能为not null (On delete set null从mysql3.23.50开始可用; on update set null从mysql4.0.8开始可用)
----关系型系统不能直接实现多对多关系,多对多关系需要引入第三个数据表,这个数据表即为联系表或连接表.