这里是修真院后端小课堂,每篇分享文从
八个方面深度解析后端知识/技能,本篇分享的是:
【什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?
1 背景介绍】
大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务二里面的知识点:
什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?
1 背景介绍
在任务三设计数据库的时候,需要理清表与表数据之间的关系,这时候就需要知道什么是实体表和关系表。然后根据他们之间的关系设计表
2.知识剖析
2.1什么是实体表
实体表就是对应实际的对象的表,比如:学生表,老师表
2.2什么是一对一、一对多和多对多?
1.一对一、一对多和多对多都是指数据表与表中的数据关系,不是表与表之间的关系
2.一对一:一个班主任只属于一个班级,一个班级也只能有一个班主任
3.一对多:一个顾客对应多个订单,而一个订单只能对应一个客户
4.多对多:一个学生有多个老师,一个老师有多个学生
2.3什么是关系表
关系表是表示表与表之间的数据关系,我的理解是:关系表设计一般只存在多对多。
3.常见问题
1)什么是实体表?
2)什么是关系表?
3)怎么设计表,多对多怎么在实际代码中表示?
4.解决方案:
设计表:一对一和一对多在表中多加一个关联字段,多对多多设计一个关联表
代码中实体类的编写:一对一在实体类中多加一个属性,一对多在实体类中多加一个集合属性,多对多就是在两个实体类中各加一个集合属性
5.编码实战
学生表
老师表
关系表
学生实体类
package mybatisTest.pojo;
import java.util.List;
public class Student {
private Integer stuId;
private String stuName;
private Integer age;
private List teachers;
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public Integer getAge() {
return age;
}
publ