Design of student information module

Student information management needs to be designed in the project. Contains grade, class, students and other information.
but there is a problem. The grade of the students changes every year, and the first grade is promoted to the second grade.
how can I design to meet this requirement?

Mar.03,2021

three ways:

  1. directly store the name string of the grade, such as "first grade" and "second grade". Then uniformly revise the grades of all students before entering school every year
  2. use another grade table for association. For example, 1 represents the first grade and 2 represents the second grade. No, no, no. Then revise the grade table before entering school every year, so that each student's grade will change with it
  3. put it another way, use the school year instead of the grade, such as 2016, 2017, 2018, etc., indicating that the current year minus the year of admission is the student's grade. But there is a problem. If a student fails to pass a grade, or if he or she transfers to another school, he or she needs special treatment.

this must be designed according to the actual situation . The actual situation is:

1. Students are not linked to grades, students are linked to classes.
2. The grade to which the class belongs changes from year to year, so the grade is calculated.
3. The grade of the class is calculated by the enrollment year of the class. A class is a kind of establishment, and after a class is created, the grade it belongs to will only increase every year.

in terms of design, it is:

1, the student has a field of the class to which he belongs;
2, the class has a field of the year of enrollment.

the advantage of this design is that no matter whether a student is dropping out of school or failing or skipping grades, as long as he is in the right class, he will certainly get the right grade.

also be sure to consider the current month. The same class belongs to two different grades in April and November.

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b34ab8-2bf5e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b34ab8-2bf5e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?