One school has multiple classes. Each class has different classID
. Teachers have name, age and teach multiple subjects. Students have name, age and unique identity number in class. Teachers and students are people. Subjects have subject name.
How to relate teachers who teach multiple subjects to different classes? For example Miss A teaches math and science to class 1 but only literature to class 2. And one class can have multiple teachers.
public class Classes {
private int classId;
private List<Subjects> subjectsList;
private List<Students> studentsList;
public Classes(int classId, List<Subjects> subjectsList,
List<Students> studentsList){
this.classId = classId;
this.subjectsList = subjectsList;
this.studentsList = studentsList;
}
}
public class People {
private String name;
private int age;
public People(String name, int age){
this.name = name;
this.age = age;
}
}
public class Students extends People{
private int classIdentityID;
public Students(String name, int age, int classIdentityID){
super(name,age);
this.classIdentityID = classIdentityID;
}
}
public class Subjects {
private String subjectName;
public Subjects(String subjectName){
this.subjectName = subjectName;
}
}
public class Teachers extends People{
private List<Subjects> subjectsList;
public Teachers(String name, int age,List<Subjects> subjectsList){
super(name, age);
this.subjectsList = subjectsList;
}
}
If I need to know who is teaching math in class 1, how should I design a table so it is not difficult to query?