@NastyaG

Как спроектирвать БД с информацией о сотрудниках?

Здравствуйте. В mysql я новичок пока что, скажу честно. Есть опыт работы с простыми запросами/таблицами.
Но хочу более подробно разбираться.
Например, нужно в бд хранить сотрудников.
Каждый сотрудник имеет id, имя, дату приёма, отдел, должность, тип сотрудника

Как грамотно создать БД?
Нельзя ж всё поместить в одну таблицу "Сотрудники" ? Нужно создавать отдельно таблицы Отделы с id_отдела и наименованием , Должности с id_должности и наименование, Типы с id_типа и наименование и связывать потом эти таблицы с таблицей Сотрудники по id ?

Подскажите, пожалуйста , как грамотно сделать всё это. Заранее спасибо.
  • Вопрос задан
  • 276 просмотров
Пригласить эксперта
Ответы на вопрос 2
al_gon
@al_gon
Примерно как то так.
www.databaseanswers.org/data_models/hr_employees.htm

более развернуто

www.databaseanswers.org/data_models/employee_gener...
Ответ написан
Комментировать
alexfilus
@alexfilus
Senior backend developer
Всё верно вы понимаете. Нужна отдельная таблица с отделами (возможно стоит учесть иерархию), нужны справочники должностей и типов сотрудников. Нужно подумать в каком формате лучше хранить дату приёма.
Так же может быть не лишним завести в таблица отделов поле для id начальника отдела. С одной стороны это избыточность (должности мы то знаем), но с другой позволит писать более простые запросы, если к примеру потребуется получить цепочку начальников для согласования чего-либо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы