Похоже, вам может понадобиться еще одна таблица с именем EMPLOYEE_TASKS:
ID - sequence, PK.
EMPLOYEE_ID, numeric, not null, FK to ID in the EMPLOYEE table.
TASK_ID - numeric, unique key, not null, FK to ID in the TASKS table.
Ваши требования к 0-или-1 сотрудникам / задачам выполняются в Великобритании по TASK.TASK_ID.Ваши 0-ко-многим задачам на сотрудника обрабатываются парой EMPLOYEE_ID + TASK_ID.Поскольку TASK_ID уникален, эта пара не должна быть.В реальном мире я бы, вероятно, сделал это индексом.
Теперь я буду использовать инструменты обратного инжиниринга hibernate для создания аннотированных моделей.Мы поместили спецификации генератора последовательности первичного ключа в файл местный доступ.
Если бы в каждой задаче было только один сотрудник, эта таблица не была бы нужна.Мы могли бы добавить EMPLOYEE_ID в таблицу TASK, но две задачи, скорее всего, не имели бы EMPLOYEE.Это означает, что мы не можем сделать эту колонку Великобританией.Таким образом, нам было бы трудно использовать базу данных для применения ограничения ноль или один.