我正在从事一个涉及数据库中一对多关系的项目。 一个简单的例子就是一位老师教授许多课程,但是一门课程只能由一位老师教授。 我的问题是对此建模的最佳方法是什么?
第一个对象是教师:
class Teacher{
public int id;
public String name;
public String lastName;
...
}
问题是课程的外观如何? 选项1:
class Course{
public int idCourse;
public String courseDescription;
**public int teacherId;**
...
}
选项2:
class Course{
public int idCourse;
public String courseDescription;
**public Teacher teacher;**
...
}
答案 0 :(得分:0)
从OOP的角度来看,选项2(具有对教师对象的引用)似乎更实用。
在通常的流程中,您将创建一个课程对象,如:
Teacher t = new Teacher('first_name', 'last_name');
Course c = new Course('Math course');
c.setTeacher(t);
您的选项1突出显示了其背后的关系数据库架构。这是一个很好的阅读: https://www.lifewire.com/one-to-many-relationships-1019756#:~:text=A%20teacher%20can%20teach%20multiple,one%20teacher%20to%20multiple%20courses。
一旦提交了上面的代码,它可能会触发两个基础插入查询,以在教师表中添加新教师并在课程表中添加新课程(以及教师ID)。