在关系数据库中,一对多、多对多和一对一的关系是通过主键和外键来维护的。
1.一对多
一对多:一个表的记录对应到另一个表的多条记录。
classes表
id | name |
---|---|
1 | 一班 |
2 | 二班 |
students表
id | class_id | name |
---|---|---|
1 | 1 | 小明 |
2 | 2 | 小红 |
6 | 2 | 小刚 |
2.多对多
多对多:一个表的多条记录对应到另一个表的多条记录。实际上多对多关系是通过两个一对多关系实现的,即通过一个中间联接表,关联两个一对多关系,就形成了多对多关系。
teachers表
id | name |
---|---|
1 | 张老师 |
2 | 王老师 |
3 | 李老师 |
6 | 高老师 |
classes表
id | name |
---|---|
1 | 一班 |
2 | 二班 |
teacher_class中间表
id | teacher_id | class_id |
---|---|---|
1 | 1 | 1 |
2 | 1 | 2 |
3 | 2 | 1 |
4 | 2 | 2 |
5 | 3 | 2 |
6 | 6 | 2 |
3.一对一
一对一:一个表的记录对应到另一个表的唯一一个记录。
假设students
表的每个学生有且只可以绑定一个联系方式。
students表
id | name |
---|---|
1 | 小明 |
2 | 小红 |
5 | 小张 |
contacts表
id | student_id | mobile |
---|---|---|
1 | 1 | 135xxxx6800 |
2 | 2 | 136xxxx2206 |
3 | 5 | 138xxxx8086 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/sqle/1893.html