У меня возникают проблемы с последним битом моей модели данных, так как я понятия не имею, какой тип отношения можно добавить к этим конкретным объектам. Я не могу перейти к последней части задания, которую я могу сделать легко, если не пройду.
В тематических исследованиях говорится: "Сотрудник работает в отделе в конкретном филиале. В филиале будет несколько сотрудников в разных отделах".
а также
"Менеджер, который является сотрудником, управляет отделом в конкретном филиале. Каждый отдел в каждом филиале имеет только одного менеджера. Кроме того, дата начала и дата окончания хранятся для каждой истории трудоустройства менеджера",
Это моя текущая модель данных в приведенной ниже ссылке.
https://i.imgur.com/SXaIgAr.png
Любая помощь или указатели будут оценены!
Поскольку в 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
и это будет взаимно-однозначное отношение.