Не могу никак правильно спроектировать БД для такой вот задачки:
Сначала сделал БД с 2мя таблицами: employees(id/fio/position_id/date/slary) & position(id/number/description) и связь для (employee.position_id => position.number) - *многие к одному.В компании работают ~ 1000 людей, каждый рабочий (за исключением директора) имеет ровно одного начальника. О каждом сотруднике нужно хранить следующую инфу:
- ФИО
- должность
- дата приема на работу
- оклад
Что нужно сделать:
х) реализовать хранение списка сотрудников в базе данных.
х) создать страницу на которой реализовать вывод сотрудников в виде иерархического дерева (с указанием занимаемой должности).
х) заполнить базу данных случайно сгенерированными данными (минимум 1000 сотрудников, минимум 5 уровней иерархии).
х) реализовать возможность редактирования списка сотрудников (всех полей, в том числе изменения начальника) – т.е. стандартный функционал CRUD.
Но для организации вывода списка смотрю такой подход не годиться... Путаюсь в мыслях, и есть идея сделать ещё 3ю таблицу промежуточную - employee2position (но не знаю какие поля задать).
Посоветуйте какой подход будет толковым, БД на 2 или 3 таблицы?