Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс 1 семестр / Курсовая / Z9411_КафкаРС_БД_Курс.docx
Скачиваний:
23
Добавлен:
24.10.2023
Размер:
1.17 Mб
Скачать
    1. Визуализация данных программными инструментами Excel

Чтобы визуализировать данные объектов базы данных "airport" с помощью инструментов Excel, необходимо сначала экспортировать данные из базы данных в файл Excel. В MySQL Workbench мы можем экспортировать данные из таблицы, щелкнув правой кнопкой мыши на имени таблицы и выбрав "Table Data Export Wizard". Откроется мастер, где мы можем выбрать формат экспортируемого файла. Затем можно выбрать конкретные столбцы и строки, которые необходимо экспортировать, и указать место сохранения файла. После завершения экспорта вы можете открыть файл в Excel и использовать инструменты визуализации данных для создания диаграмм и графиков.

Чтобы создать диаграмму или график, необходимо выбрать данные, которые необходимо включить, а затем с помощью вкладки "Вставка" выбрать тип визуализации, которую вы хотите создать. После этого Excel создаст диаграмму или график и позволит настроить его по своему усмотрению. Также можно использовать вкладки "Дизайн" и "Формат" для дальнейшего форматирования и настройки диаграммы или графика.

Результат визуализации данных в Excel представлен на рисунках 43-46.

Рисунок 43 – Визуализация количества мест для каждого типа самолёта

Рисунок 44 – Визуализация количества рейсов по городам прибытия

Рисунок 45 – Визуализация количества сотрудников по должностям

Рисунок 46 – Визуализация количества самолётов по фирмам-производителям

Заключение

В этой курсовой работой передо мной была поставлена задача создать базу данных для обслуживания рейсов в аэропорту. Конечный продукт, названный "airport", представляет собой комплексную и организованную систему, которая эффективно хранит и управляет всей необходимой информацией для работы аэропорта.

Для начала я создал несколько таблиц, включая "авиакомпании", "самолеты", "сотрудники", "экипажи", "рейсы", "пассажиры" и "билеты". В этих таблицах эффективно хранится вся необходимая информация для работы аэропорта, такая как информация об авиакомпаниях, данные о самолетах, информация о сотрудниках, расписание рейсов, информация о пассажирах и информация о билетах. Я также установил связи между этими таблицами, чтобы обеспечить ссылочную целостность и сделать поиск данных более эффективным.

У меня возникли сложности со связью «экипажи», поскольку в каждом экипаже должно содержаться определённое количество сотрудников, при этом стюардесс может быть несколько. И у меня нет полного понимания как утроены в аэропортах экипажи – могут ли сотрудники входить в несколько команд или за ними всегда закрепляется одна группа. Соответственно, для упрощения я решил считать, что один сотрудник может состоять только в одном экипаже и никак иначе. В свою очередь, таблица «экипажи» послужила только для хранения ID экипажа как ПК и использования в других таблицах для установления связи. Возможно, данную базу данных можно было бы реализовать и как-нибудь по-другому, но я считаю, что хорошо справился с поставленной задачей и в таком виде база данных работает корректно. При желании и, самое главное, времени можно было бы создать дополнительные триггеры для проверки количества определённых должностей в экипаже (чтобы было по одному представителю каждой должности, но могло быть несколько стюардесс), триггер для проверки доступности экипажа (свободен ли экипаж в данный момент или находится в рейсе) – но для второго триггера нужно учитывать ещё и возвращение экипажа обратно, когда как моя курсовая работа ограничивалась лишь обслуживанием одного конкретного аэропорта. Если представлять глобально, то сделать так, чтобы у каждого аэропорта была своя база данных и сделать синхронизацию между ними – а это намного сложнее задача.

Затем я создал различные запросы для получения конкретной информации из базы данных. Запросы создавать было не очень сложно. Для меня самой сложной частью оказалось продумывание связей таблицы и заполнение их корректными данными. Если данные будут не похожи на достоверные или их будет очень мало, то следующее выполнение задач будет затруднительным. Объём работы оказался довольно большим. Возвращаясь к запросам, они включают получение информации о пассажирах для конкретного рейса, списка самолетов по годам выпуска в определенный интервал времени конкретной авиакомпании, списка экипажа для данного рейса, проданных билетов для каждой авиакомпании за определенный период, зарезервированных мест для каждого пассажира, информации о рейсах в определенный пункт назначения и свободных мест для данного рейса и даты. Я также создал 3 более сложных запроса, которые ранее не использовались.

Кроме того, я создал хранимые процедуры для всех вышеупомянутых запросов. Эти процедуры обеспечивают легкий доступ к информации, полученной с помощью запросов, а также включают обработку ошибок при получении пустых результатов. Более того, я также добавил возможность ввода значений переменных для процедур, таких как начало и конец года, flight_id и т.д.

Для обеспечения безопасности и целостности данных я также создал различные триггеры. Эти триггеры включают проверку достоверности введенных значений для каждой таблицы, проверку ссылочной целостности данных, а также триггеры для автоматического обновления или добавления данных. Например, я создал триггер, который не позволяет пассажиру купить билет, если до вылета остается 3 или менее часов.

Наконец, я также продемонстрировал, как визуализировать данные из базы данных "Аэропорт" с помощью Python и Excel. Я использовал библиотеки Python, такие как matplotlib и pandas, для визуализации таких данных, как количество рейсов в месяц и количество проданных билетов по месяцам. Я также показал, как экспортировать данные из MySQL Workbench в файл Excel для дальнейшей визуализации и анализа данных.

В целом, эта курсовая работа стала для меня прекрасной возможностью приобрести и закрепить новые навыки в создании баз данных, составлении запросов, хранимых процедур, триггеров и визуализации данных. База данных "Аэропорт" представляет собой хорошо продуманную и функциональную систему, которая эффективно хранит и управляет всей необходимой информацией для работы аэропорта. Я уверен, что эта база данных окажет большую помощь в эффективном и организованном управлении аэропортом.

Соседние файлы в папке Курсовая