和另外一张表产生关系
1.节省空间
2.约束,保持一致性
外键里有关联数据的不能删,没有关联的可以删
create table userinfo(
uid int auto_increment priority key,
name varchar(32),
department_id int,
constrait fk_user_depar foreign key ("department_id",) references department("id") # 外键
)engine=innodb default charset=utf-8;
creat table department(
id int auto_increment priority key,
title char(15)
)engine=innodb default charset=utf-8;
主键可以由多列组成(联想外键)
primary key(nid,pid)
唯一索引: # 约束不能重复,加速查找,可以有值为空
unique uql (num) # 设置唯一
unique uql (num,nid) # 联合唯一
####################################################
外键变种
普通外键:一对多
外键加唯一索引:一对一 # 博客表
多对多外键: # 联合唯一索引可选
