Запишите время начала и окончания каждого рабочего периода в таблице.
create table time_record (
time_record_id int not null auto_increment primary key,
start_time datetime not null,
end_time datetime not null,
person_id int not null references person(person_id)
);
Затем вы можете сообщить о ежедневной или ежемесячной активности для каждого пользователя с помощью нескольких простых запросов.Например, чтобы свернуть ежедневную сводку, вы можете объединить набор календарных дней с записями времени.