如何分辨三种关系,以及三种关系的图列对比。
1.分析三种关系。
- 是否左表的多条记录可以对应右表的一条记录,是,则证明左表的一个字段 关联(foreign key)右表的一个字段(通常为ID)
- 是否右表的多条记录可以对应左表的一套记录,是,则证明右表的一个字段关联(foreign key)右表的一个字段(通常为ID)
2.三种关系:
- 一对一:第一步都不成立,而是左表和右表都只是互相对应彼此唯一一条记录(通常互为主键)。直接使用外键关联即可。一对一外键一般在从表中。
- 一对多:第一步中任意一条成立即可。一对多关联,外键一般都在多表的一方。
- 多对多:第一步中两条全成立。需要建立一张中间表(作用为存放彼此的外键)。外键一般都是在中间表中。
3.图解三种关系:
- 一对一关系:学生与学号关系(关联方式:foreign key)
stu表 | school_num表 | ||||||||
id | stuname | stu_num | school | user_id | |||||
1 | 张三 | 10001 | 哈佛大学 | 1 | |||||
2 | 李四 | 10002 | 哈佛大学 | 2 | |||||
3 | 王五 | 10003 | 哈佛大学 | 3 | |||||
4 | 赵六 |