Вообще, СУБД работают по теории реляционных таблиц.
Чтобы изобразить процесс проведения занятий, хотя бы в первом приближении, нужно описать хотя бы такой набор таблиц:
Таблица "Человек"
Id - код человека
Family - фамилия
Name - Имя
Patron - отчество
Таблица "Обучающися"
Id - код обучающегося
Man_ID - код человека из таблицы человек
Group_ID - код группы (учебного класса) из таблицы учебной группы
Таблица "работник"
Id - код работника
Man_id - код человека из таблицы человек
Role_Id - роль работника (преподаватель)
Таблица "Предметы"
ID - код предмета
Subj_Name - Название предмета
Таблица "Занятие" (фактически, расписание занятий)
ID - код занятия
Shedule_Date - дата проведения занятия
Pare_Id - код пары из таблицы пар (время занятия по порядку звонков на пары)
Group_Id - учебный класс (группа)
Teacher_Id - код из таблицы работника, кто будет вести занятие
Subj_Id - код предмета
Room_Id - код аудитории
Таблица "Точка контроля"
Id - код точки контроля
Type_Id - Тип контроля (классная работа, домашнее задание, контрольная работа, самостоятельная работа, экзамен, зачет и т.д,)
Event_Date - дата проведения контроля
Shedule_Id - код занятия из расписания
Таблица "Ведомость"
id - код ведомости
Control_Id - код точки контроля
Student_Id - код из таблицы обучающегося, кому ставят оценку
Mark_Id - код оценки из справочника оценок
Mark_date - дата выставления оценки
И с высоты такой простой модели данных, что вы имеете под понятием "дата"?
- Дата назначения занятия.
- Дата проведения контроля.
- Дата выставления оценки?