Произвольное количество пользователей. У каждого пользователя есть логин, пароль, Ф.И.О.
Произвольное число групп. Каждая группа имеет название.
Между пользователями существуют отношения субординации(подчинения)
Каждый пользователь может входить в ноль или более групп
Не допускается циклическая субординация(когда Вася начальник Пети, Петя начальник Ивана, а Иван начальник Васи)
Разработать и реализовать реляционную БД, используя СУБД MySQL
Написать web-приложение, позволяющее управлять содержимым разработанной БД. Оно должно обеспечивать следующие возможности:
вывод списка пользователей с обозначением начальника каждого из них, и групп, в которые он входит;
добавление пользователей;
установление между пользователями отношения субординации(с автоматической проверкой отсутствия циклической субординации);
редактирование данных пользователя
включение пользователя в произвольную существующую группу;
исключение пользователя из любой групп, в которую он входит;
удаление пользователя;
вывод списка групп;
изменение данных любой существующей группы;
добавление новой группы;
удаление любой существующей группы.
Результатом выполненного тестового задания являются:
SQL-дамп БД с минимальным набором необходимых для проверки работоспособдости данных;
php-скрипты, необходимые для работы приложения;
файлы ресурсов(css, картинки и пр.);
краткая инструкция по установке.
Язык написания приложения - php
Среда работы приложения - web-сервер Apache (cgi, mod_php или fast-cgi не важно)
Запрещается использование любых CRUD-фрэймворков или прочих ORM (Object-relational mapping) библиотек для отображения БД в объектах.