Поскольку Departments
должен иметь только один manager
, вы можете добавить поле к Departments
, в котором будет храниться Employee.EmployeeID
менеджера.Похоже, что вы уже сделали эту часть.
Это поле должно быть отношением внешнего ключа 1:1
с таблицей Employee
.Затем вы можете также добавить поля manager_start_date
и manager_end_date
в таблицу Department
, чтобы отслеживать диапазон занятости manager
.
Обратите внимание, что начальные и конечные даты сотрудника не обязательно должны быть их начальными и конечными датами.Предположительно, кто-то мог начать в March
, а затем стать менеджером в July
.
В идеале PK
на Department
будет BranchID, Name
.Использование DepartmentID
нормально, но не обязательно с требованиями, которые вы указали в своем вопросе.
Из вашего фрагмента мне неясно, какова в настоящее время связь между Department
и Employee
.Должна быть FK
ссылка на Employee.employee_id
, которая будет сделана на Department.manager_employee_id
, и это будет отношение один к одному.