Вам нужно потратить МНОГО времени на разработку базы данных.Подумайте о техническом обслуживании в долгосрочной перспективе, оно должно быть максимально простым.Лучший способ - создать реляционную базу данных, исследовательский мост, валидацию и базовые таблицы.Чтобы ответить на ваш вопрос, я бы не стал составлять таблицу на каждый год.Наилучшим способом является сопоставление данных об успеваемости учащихся с определенным уникальным идентификатором, представляющим конкретный идентификатор курса этого ученика.
Я бы подумал о создании таблицы для каждого из существительных:
преподаватель - PKinstructorID, instructorName .. (любая другая информация об 1: 1)
Студент - PK studentID, StudentName .. (любая другая информация об 1: 1)
Course - PK CourseID, CourseName,CourseDescription .. (любая другая информация о курсе 1: 1)
• Учителя назначаются в разные классы в качестве учителя в классе.
в таблице инструкторов 1: 1 вы можете иметь столбец с именем HomeroomGradeа затем вы
обновите этот столбец с текущей оценкой.Если вы хотите сохранить историю класса
, вы можете сделать таблицу инструкторов составным ключом с другим столбцом, увеличивающим
для текущей записи.
• Учащиесяподнимите оценку (или не делайте).
Вам понадобится еще одна таблица, показывающая отношение студентов к уникальным курсам
оценок за этот год, но сначала вам нужно сопоставить преподавателяна этот конкретный курс.
PK InstructorToCourseID
InstructorID - FK
CourseID - FK
Год - FK
затем еще одна таблицаотображение уникального курса для этого студента с оценкой ..
PK InstructorToCourseID FK из предыдущей таблицы
PK StudentID - FK из информационной таблицы студента
Grade
Извините, если я общий и расплывчатый, но это должно дать вам некоторые идеи об отношениях, которые можно создать.