個人的には、各学年の表はありません。なんで?グレードに関係なく、すべてのデータが同じだからです。「date_student_graduted」や「age_of_student」などの列を追加したい場合はどうすればよいでしょうか?これらの 4 つのテーブルすべてを更新する必要があります。
代わりに、すべての生徒を格納する 1 つのテーブルを作成し、生徒の成績を識別する列を作成します。
学生を特定のクラスに関連付けたい場合は、各学生とクラスに特定の ID を与えることで、それらの間の関係を作成します (おそらく既にこれを行っています)。
学生データベースに「class_id」のような列を作成し、学生が属するクラス ID を入力します。
たとえば、クラスとそのクラス内のすべての生徒を選択する場合は、最初にクラスを選択し、次にデータベースに入り、class_id が現在のクラス ID と一致する場合に各生徒を選択するループを作成します。
//Pseudo code
//select all classes
$classes = mysql_query('SELECT * FROM classes');
foreach($classes as $class) {
$class_id = $class['class_id'];
$students = mysql_query("SELECT * FROM students where class_id='$class_id' ");
echo "list of students in the class $class[name] <br>";
foreach($students as $stu) {
echo "$stu[name] <br>";
}
}