数据库03
表关联关系
外键:
外键时一种约束是为了保证数据完整性
一般说外键就是另一个表的主键
外键用于建立物理层级关联关系
create table 表名(id int primary key auto_increment,
字段 类型,字段 类型,foreign key(外键字段)references 主表(主表字段));
当我们把数据分到不同表之后,相互就没有任何关联,需要使用外键约束
外键约束的原理:
让从表的某个字段参照主表的一个字段(通常是主键,主键是唯一的)
一旦外键关系建立之后,就会产生一系列的约束行为
1 要先创建主表,在创建从表
2 从表插入数据时,必须保证外键的值已经存在于主表中
3 删除表时,要先删除从表再删除主表
4 当要删除主表中的记录时,要保证从从表中没有记录
5 主表更新时,如果要更新主键需要保证从表中没有记录
从表中外键字段通常时int类型,通常外键都要参照对方的主键
一对多关系处理:
在从表中增加外键,关联到主表中
一对一关系处理:
不需要增加字段直接把从表的主键设置为外键即可
通常一对一关系是用来垂直分表的
多对多关系处理:
添加中间表,增加两个外键,分别关联不同的主表
为了保证数据不重复,需要给两个外键添加联合唯一约束