Рассмотрите систему, в которой хранится запись сотрудника. База данных должна содержать имя сотрудника, отдел и т. Д. У каждого сотрудника есть менеджер отчетов, которому он должен сообщить. Есть 4 уровня работника -Рисунок ERD для этой базы данных образцов
- Младший инженер
- Старший инженер
- Team Lead
- Старший команды Lead
Каждый младший инженер должен сообщить старшим инженером. Каждый старший разработчик должен отчитываться перед командой. Каждый руководитель команды должен отчитываться перед старшим руководителем команды.
Я пришел к этой идее: -
Там будет две таблицы
1.Employee
2.Reporting
Employee table
будет содержать необходимую информацию, как EmployeeID, Имя сотрудника, название отдела и т. Д .; первичный ключ EmployeeID
Reporting Table
будет содержать два столбца EmployeeID и ReportingMangerID; EmployeeID
- это внешний ключ, относящийся к таблице Primarykey Employee Table.
Я не знаю, правильно ли я.
Я думаю, что первое условие истинно. В этом случае дополнительная таблица не требуется, не так ли? – BlackCat
«manager» эффективно становится атрибутом «employee», поэтому вам не нужна дополнительная таблица. –
Поскольку этот вопрос отмечен как «ERD», обратите внимание, что в ER атрибут - это сопоставление от объекта, установленного к набору значений, а не от объекта, установленного в набор объектов. То, что вы описываете, является денормализованной связью, а не атрибутом. – reaanb