我正在做一个项目,涉及到数据库中的一对多关系,一个简单的例子是一个老师教授很多课程,但一门课程可以只由一个老师教授,我的问题是什么是最好的方式来建模?
第一个对象是教师。
class Teacher{
public int id;
public String name;
public String lastName;
...
}
事情是课程班会是怎样的呢,方案一。
class Course{
public int idCourse;
public String courseDescription;
**public int teacherId;**
...
}
方案二:
class Course{
public int idCourse;
public String courseDescription;
**public Teacher teacher;**
...
}
这是我第一次在这里发帖,所以对可能出现的错误和英语不是我的母语提前表示抱歉.Thanks in advance.
从OOP的角度来看,方案2(有一个教师对象的引用)似乎更实用。
在通常的流程中,你会创建一个像.NET这样的课程对象。
Teacher t = new Teacher('first_name', 'last_name');
Course c = new Course('Math course');
c.setTeacher(t);
你的方案1强调了这背后的关系数据库模式是什么样子的。这里有一个很好的阅读。https:/www.lifewire.comone-to-many-relationships-1019756#:~:text=A%20teacher%20can%20teach%20multiple,one%20teacher%20to%20multiple%20courses(课程).
上面的代码提交后,就可以启动两个插入查询的底层,在教师表中添加新的教师,在课程表中添加新的课程(以及教师ID)。