引言
表:part
有表如上所示,当成员达到一定数量时,我们需要开启大量的空间存放他们所在的部分,部门名称又长,而且存在大量重复,十分浪费存储空间。
我们将表一分为二
表1:part
表2:person
何为一对多呢?
在part表中的一条数据对应person表中多条数据
表1:part
表2:person
设置外键
- 创建关联
- 创建约束:在part表中的一条数据对应person表中多条数据
CREATE TABLE person (
nid int(11) NOT NULL AUTO_INCREMENT,
name varchar(32) NOT NULL,
email varchar(32) NOT NULL,
part_nid int(11) DEFAULT NULL,
PRIMARY KEY (nid),
CONSTRAINT person_ibfk_1 FOREIGN KEY (part_nid) REFERENCES part (nid),
)
连表方式
A left join B on a.xx = b.xx
以A表为主
将A中所有数据罗列出来
B,只显示于A相应的数据
A inner join B on a.xx = b.xx
自动忽略未建立关系的数据
A left B
B left A
A inner B
A left B left C