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