##把所有数据都存放于一张表的弊端
1.组织结构不清晰
2.浪费硬盘空间
3.扩展性极差
## 一对多(Foreign Key)
## 注意: MySQL中表与表的关系,只有“一对多”,没有多对一;
# foreign key的用法
# 1、在创建表时,先建被关联的表dep,才能建关联表emp
# 先建立被关联表 (相当于先创建被关联的Excel表文件) create table dep( id int primary key auto_increment, dep_name char(10), dep_comment char(60) ); # 再创建关联表: 关联表中设置 “外键” create table emp( id int primary key auto_increment, name char(16), gender enum(‘male‘,‘female‘) not null default ‘male‘, # 定义一个被关联表的id字段 dep_id int, # 再通过外键绑定到另一张表中字段 foreign key(dep_id) references dep(id) );
# 2、在插入记录时,必须先插入被关联的表dep,才能再插入关联表emp
# 先插入被关联表数据 insert into dep(dep_name,dep_comment) values (‘教学部‘,‘辅导学生学习‘), (‘外交部‘,‘上海校区形象大使‘), (‘技术部‘,‘技术能力有限部门‘); # 再插入关联表数据 insert into emp(name,gender,dep_id) values (‘a‘,‘male‘,1), (‘b‘,‘male‘,2);