mysql :外键

实习过程中发现比较少用到外键,不过也记录下外键的简单了解。

 

===?什么叫做外键?外键是在哪里添加的呢?
外键是在主表也就是表一中添加的,就是主表中的学号。
外键对应子表中的外键。
 
===?外键应该如何设置呢?
不论是在主表和子表中设置,都不必要设置成主键,只要是唯一键就可以了。
 
===?外键的作用
将复杂的数据表进行解耦,尽量让表记录的数据单一化。
 
===?为什么说外键能够保持数据的一致性和完整性呢?
如果不添加外键约束的时候,两张表的学号字段是没有关系的。也就是说在表二中插入新的数据完全不会有任何影响,因为数据库不会对新插入的数据做关系检查。
但是如果设置了外键约束,你在表二中插入的数据必须在表一中存在(外键约束字段必须存在,数据库会做关系检查)。同时你要删除表一的数据,必须保证表二中不存在,否则删除不会成功。
 
===?什么类型的存储引擎支持外键约束呢?
InnoDB类型的表才支持外键约束
myIsam不支持事务也不支持外键,但是访问速度很快
posted @ 2018-07-10 17:28  buptyuhanwen  阅读(119)  评论(0编辑  收藏  举报