Ниже приведен аналогичный (и упрощенный) пример вопроса дизайна, с которым я столкнулся:
Предположим, у вас есть ученики, классы и оценки. Студенты могут быть в разных классах. В каждом классе много разных учеников. И каждая пара (ученик, класс) имеет одну оценку.
Должен ли я размещать базу данных (базу данных mysql), например:
Опция 1)
students table - (student_id, student_name)
classes table - (class_id, class_name)
students_classes table - (student_class_id, student_id, class_id)
grades table - (student_class_id, grade)
Вариант 2)
students table - (student_id, student_name)
classes table - (class_id, class_name)
grades table - (student_id, class_id, grade)
Или он должен быть разработан как что-то еще? Вариант 2 сейчас кажется проще, но в будущем мне могут понадобиться другие статистические данные, относящиеся к каждой паре (student_id, class_id) (в этом случае вариант 1 кажется немного лучше? Хотя вариант 1 все еще кажется слишком сложным).
Что вы порекомендуете? Спасибо.