В настоящее время у меня есть две таблицы, в которых хранятся посещаемости учащегося в курсе. У меня есть таблица hub_attendance, в которой хранится общая посещаемость студента и hub_attendance_lesson, где он хранит посещаемость каждого урока, который студент посещал или не посещал. Я не уверен, что это правильно или я делаю что-то неправильно, я новичок в базах данных!Как я могу сделать эту схему базы данных лучше?
hub_attendance:
id
student_id
course_id
total_lessons
total_lessons_so_far
total_attended
total_absent
total_excused_absent
total_late
total_excused_late
hub_attendance_lesson:
id
lesson_id
course_id
student_id
date
attended
absent
excused_absent
late
excused_late
EDIT:
Так я избавилась от первой таблицы полностью, и это мой новый сингл стол.
Hub_Attendance:
id
lesson_id
course_id
student_id
date
attendance
Как вы определяете посещаемость? За урок или за группу уроков? Некоторые детали реальной ситуации, с которой вы столкнулись, сделают проблемы дизайна более ясными. –
Эй, я не уверен, что вы подразумеваете под группой уроков? –
Как и в одном посещении, есть несколько уроков? Дизайн базы данных посвящен разработке уникальных данных и взаимосвязей между ними. Если у вас есть один курс обучения в студенческом общеобразовательном учреждении, который затем будет иметь много занятий на различных уроках компонента, это отличается от того, что у вас нет всеобъемлющего набора, и у вас есть много занятий, которые вам нужно учитывать. Разница заключается в том, нужно ли хранить данные о зачислении, которые в противном случае будут повторяться в таблице посещаемости, например. дата начала регистрации. –