Учебный репозиторий по проектированию, реализации и администрированию реляционных баз данных. Первая часть построена вокруг MySQL и информационной системы железнодорожной станции. Во второй части показаны миграция данных, интеграция СУБД с Python и визуализация результатов. Итоговая курсовая объединяет SQL-схему и настольный PyQt5-клиент.
| Работа | Тема | Материалы |
|---|---|---|
| Лабораторная №1 | Установка и настройка MySQL | PDF-отчёт |
| Лабораторная №2 | База «Транспортные происшествия» | SQL, Workbench-модель, схема |
| Лабораторная №3 | Проектирование базы железнодорожной станции | SQL, MWB, draw.io, диаграммы |
| Лабораторная №4 | Физическая реализация и заполнение базы | DDL и DML |
| Лабораторная №5 | Хранимые процедуры | 4 процедуры и примеры вызова |
| Лабораторная №6 | Пользовательские функции | 2 функции и тестовые запросы |
| Лабораторная №7 | Триггеры | INSERT, UPDATE и DELETE-триггеры |
| Лабораторная №8 | Администрирование MySQL | Пользователи, роли и права |
| Работа | Тема | Технологии |
|---|---|---|
| Лабораторная №1 | Запросы к MySQL и визуализация | Python, PyMySQL, pandas, Matplotlib |
| Лабораторная №2 | Миграция Access → MySQL | Access, ODBC, MySQL Workbench |
| Лабораторная №6 | Работа Python с PostgreSQL | SQLAlchemy, psycopg2, PostgreSQL |
| Лабораторная №7 | Визуализация данных PostgreSQL | pandas, Matplotlib, SQLAlchemy |
Курсовая работа — информационная система пассажирской железнодорожной станции на MySQL и PyQt5. В проект входят схема базы, тестовые данные, 10 хранимых процедур, 4 триггера, пользователи с разными правами и графический клиент.
| Исходная схема | Схема после миграции |
|---|---|
![]() |
![]() |
| Средняя зарплата | Сотрудники по локациям |
|---|---|
![]() |
![]() |
- MySQL, MySQL Workbench и SQL;
- PostgreSQL и SQLAlchemy;
- Microsoft Access и ODBC;
- Python, PyMySQL, psycopg2, pandas и Matplotlib;
- PyQt5 для настольного интерфейса;
- draw.io для моделирования схем.
Каждый каталог содержит собственный README с назначением файлов и порядком запуска. SQL-работы можно открывать в MySQL Workbench или клиенте PostgreSQL в зависимости от лабораторной. Для Python-проектов создайте отдельное виртуальное окружение внутри нужного каталога и установите его requirements.txt.
Параметры подключения к базе задаются либо в .env, либо непосредственно в учебном скрипте — точный формат приведён в README соответствующей работы.
Д. М. Никитин, группа 4217, ГУАП. GitHub: Diminasss.
Проект распространяется по лицензии GNU GPL v3.




