Я работаю над модулем посещаемости/сверхурочной работы для веб-приложения расписания. Идея состоит в том, что в MySQL есть таблица смен, каждая смена имеет время начала и окончания. Менеджер выберет смену и внесет запись в таблицу посещаемости, указав, опаздывал ли сотрудник/опаздывал/уходил ли раньше/отрабатывал сверхурочно. Эта запись в таблице посещаемости привязана к идентификатору смены # (который является просто пронумерованным ключом).
Но если кто-то приходит в свой выходной день, нет никакой смены, к которой это можно было бы привязать. Какую систему лучше использовать для этих ключей? Можно ли настроить условное перечисление? И как избежать риска совпадения с идентификатором смены? Добавление сверхурочных смен обратно в исходную базу данных расписания невозможно.