Какую сделать структуру базы с графиком работы сотрудников?
Вообщем сабж. Не могу все продумать, как выстроить правильную структуру базы сотрудников с графиком их работы. Допустим каждый сотрудник может указать с Пн по Вс время работы (с XX:XX до ХХ:XX) на каждый день недели индивидуально, и точно так же обед тоже индивидуально на каждый день. Получается нужно делать структуру такой, чтобы потом, легко можно было сделать запрос, кто сможет работать С 13:00 и ДО 16:00 во вторник например. Единственное что приходит на ум это просто создать 14 полей, по два поля на каждый день недели С и ДО и туда вписывать timestamp от начала дня т.е. 00:00 т.е. если с 9:00 до 16:00 понедельник то ~ mon_beg = 32400 & mon_end = 57600 и при помощи WHERE проверять вхождение интервала. Но у меня такое чувство, что это как то геморройно и возможно есть другие идеи или уже методы, для подобных случаев более грамотные.
Буду рад если кто что подскажет на эту тему. Спасибо!
Я бы сделал так:
Таблица содержит 4 поля: user_id, day(Enum), from(int), to(int)
Пользователь создает по полю на каждый день недели, в котором может указать С и ДО какого часа он работает.
Решение хорошее! С часами только более грубо получается, если использовать таймстамп например минутный от начала дня, то получится более гибко можно будет указать 19:30 или 19:23. Просто на входе конвертировать в минуты, а на выходе для показа обратно в чч:мм.
Спасибо за решение еще раз!)