
- •Задание на курсовую работу
- •Аннотация
- •Содержание
- •Обоснование модели данных
- •Обоснование выбора субд
- •Описание функций групп пользователей
- •Описание функций управления данными
- •Организация защиты бд
- •Заключение
- •Список использованных источников
- •Приложения Приложение а. Руководство пользователя
- •Приложение в. Исходный код программы
Обоснование модели данных
Для реализации курсовой работы в качестве модели данных была выбрана реляционная модель, которая представляет собой наиболее распространённый и универсальный подход к структурированию и организации данных. Основу данной модели составляет таблица, где каждая строка представляет собой записи, а столбцы — атрибуты, описывающие характеристики данных.
Выбор реляционной модели обусловлен тем, что она позволяет структурировать и упорядочивать данные в виде табличных представлений, что способствует наглядности и упрощает восприятие информации пользователем. Кроме этого, одним из значимых преимуществ реляционной модели является возможность настройки точных связей между элементами данных внутри одной таблицы или между различными таблицами.
Кроме того, реляционная модель широко поддерживается популярными системами управления базами данных (СУБД), что предоставляет доступ к мощным инструментам и обширной базе знаний для работы с данными.
Обоснование выбора субд
В качестве реляционной СУБД было выбран набор программного обеспечения MySQL. Данная СУБД была выбрана поскольку она имеет следующие достоинства:
Высокая производительность
MySQL оптимизирована для выполнения сложных запросов и обработки больших объёмов данных. Использование индексирования, кэширования и оптимизированных алгоритмов запросов позволяет достичь высокой скорости чтения и записи.
Кроссплатформенность
MySQL поддерживает различные операционные системы (Linux, Windows, macOS и другие), что делает её универсальной для любых сред и платформ.
Интеграция с популярными технологиями: MySQL легко интегрируется с языками программирования, такими как PHP, Python, Java, C++ и многими другими, а также с веб-серверами Apache и Nginx, что делает её идеальной для веб-разработки.
Низкий порог вхождения и простота администрирования
MySQL имеет удобные интерфейсы управления, такие как MySQL Workbench, а также поддерживает множество утилит и командной строки для автоматизации задач.
Большое сообщество и обширная документация
Благодаря своей популярности MySQL имеет активное сообщество разработчиков и пользователей. Это позволяет легко находить ответы на широкий спектр вопросов, используя форумы, блоги, обучающие ресурсы и документацию, доступные в интернете.
Описание функций групп пользователей
В данной работе был реализован подход, когда единственным пользователем БД является администратор. Администратор, в свою очередь, имеет абсолютные права на выполнение любых запросов.
Описание функций управления данными
Метод add_driver()
Данный метод позволяет добавить нового водителя и информацию о нем
Метод add_bus()
Данный метод позволяет добавить новый автобус и информацию о нем
Метод add_route()
Данный метод позволяет добавить новый маршрут и информацию о нем
Метод add_link()
Данный метод позволяет создать связь водитель-маршрут-автобус из уже заданных таблиц водитель, маршрут и автобус. При этом один автобус может быть занят только одним маршрутом и одним водителем
Метод add_update_bus_route()
Данный метод позволяет обновить информацию об автобусном маршруте
Метод delete_driver()
Данный метод позволяет удалить информацию о водителе по его ID
Метод delete_bus_route()
Данный метод позволяет удалить информацию об автобусном маршруте по его ID
Метод delete_bus_model()
Данный метод позволяет удалить информацию об автобусе по его ID
Метод view_drivers_on_route()
Данный метод позволяет получить информацию о всех водителях на некотором маршруте по его ID
Метод view_buses_on_route()
Данный метод позволяет получить информацию о всех автобусах, находящихся на определенном маршруте при помощи ID этого маршрута.
Метод view_time_on_route()
Данный метод позволяет получить информацию о временных интервалах на определенном маршруте по его ID или на всех сразу
Метод view_distance_on_route()
Данный метод позволяет получить информацию о протяженности определенного маршрута или же по всем сразу.
Метод view_drivers_on_buses()
Данный метод позволяет получить информацию о всех водителях на определенном автобусе по его ID.
Метод spravka()
Данный метод позволяет получить всю информацию о имеющихся таблицах.
Метод view_drivers()
Данный метод позволяет получить всю информацию о всех водителях.
Метод view_bus_routes()
Данный метод позволяет получить всю информацию о всех автобусных маршрутах.
Метод view_buses()
Данный метод позволяет получить всю информацию о всех автобусах.
Метод view_links()
Данный метод позволяет получить всю информацию о всех связях водитель-маршрут-автобус