С полным описанием работы можно ознакомиться в отчете о выполненной работе.
На первом этапе выполнения работы была выполнена аналитическая часть: выбрана и проанализирована предметная область «Сеть частных автозаправочных станций». Была построена ER-диаграмма, содержащая 11 сущностей и 26 атрибутов.
На втором этапе были выделены цели функционирования системы, описаны роли, субъекты и сущности, создана схема объектов с указанием типов связи. На основе схемы была создана база данных, состоящая из 11 таблиц, связанных через внешние ключи. Для каждой таблицы описаны атрибуты: тип ключа, название на русском и английском языках, тип атрибута, ссылка на атрибут другой таблицы, если атрибут является внешним ключом. Скрипт генерации самой БД здесь. Был написан скрипт на языке Python для заполнения базы данными, для генерации записей были использованы API MySQL Connector и библиотека Faker. Всего в базе получается около 225000 записей в зависимости от генерации.
Схема БД |
На третьем этапе к полученной базе данных были написаны 8 запросов для получения данных. Все запросы были написаны на языке SQL, после чего проанализированы с помощью команды EXPLAIN и Visual EXPLAIN в MySQL Workbench. Также для анализа результатов были построены гистограммы.