Какой тип отношений добавить к этим моделям данных? - PullRequest
0 голосов
/ 12 сентября 2018

У меня проблемы с последним битом моей модели данных, так как я понятия не имею, какой тип отношений добавить к этим конкретным объектам.Я не могу перейти к последней части задания, которую я могу легко выполнить, если не пройду это.

В примерах говорится: «Сотрудник работает в отделе в определенном филиале. Филиалбудет иметь несколько сотрудников в разных отделах. "

и

" Менеджер, который является сотрудником, управляет отделом в определенном филиале. Каждый отдел в каждом филиале имеет только одного менеджера. Также,дата начала и дата окончания сохраняются для истории занятости каждого менеджера "

Это моя текущая модель данных по ссылке ниже.

https://i.imgur.com/SXaIgAr.png

Любая помощь или указателибудет оценено!

1 Ответ

0 голосов
/ 12 сентября 2018

Поскольку 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, и это будет отношение один к одному.

...