前言
项目开发过程中,数据库表会出现很多映射关系,不只有一对多,还有一对多,多对多。则数据库实体间有三种对应关系:一对一,一对多,多对多。
一、实例
一对一关系实例:
一个学生对应一个学号。
一对多关系实例:
一个学生只属于一个班,但是一个班级有多名学生。
多对多关系实例:
一个学生可以选择多门课,一门课也有多名学生。
二、关系处理:
1.一对一:
一对一关系是最好理解的一种关系,在数据库建表的时候可以将学生表的主键放置与学号表里面,也可以将学号表的主键放置于学生表里面。
2.一对多:
班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键,则只需在 学生表 中多添加一个班级号的ID。
3.多对多:
对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系;所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容。
简单来来说就是在两张表之间建立关系表: