У меня есть две таблицы: Компании и Сотрудники.
У меня также есть таблица отношений Employs, которая содержит внешние ключи company_id, employee_id в качестве составного первичного ключа. Примечание: сотрудники могут работать в нескольких компаниях.
Я хотел бы иметь еще одну таблицу EmployeeSchedules, которая просто содержит расписания (company_id:integer,employee_id:integer,start_time:datetime, end_time:datetime) для сотрудников, работающих в компании. В конечном итоге это будет отображаться в каком-то виджете календаря.
Однако при таком дизайне мне пришлось бы проверять на уровне приложения, что сотрудник действительно работает в компании, прежде чем добавлять расписание.
Мне было интересно, будет ли лучший способ представить это на уровне базы данных или просто придерживаться проверки на уровне приложения? Например, если бы был способ связать pkey EmployeeSchedules (company_id,employee_id) с pkey Employs (company_id, employee_id). Любые другие рекомендации по дизайну приветствуются!