Добавил:
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
Скачиваний:
14
Добавлен:
24.10.2023
Размер:
1.17 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ

РУКОВОДИТЕЛЬ

канд.тех.наук, доцент

Е. Л. Турнецкая

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ (ПРОЕКТУ)

РЕАЛИЗАЦИЯ МНОГОФУНКЦИОНАЛЬНОЙ ИС

«ОБСЛУЖИВАНИЕ РЕЙСОВ В АЭРОПОРТУ»

НА ОСНОВЕ ОТКРЫТЫХ СТАНДАРТОВ

по дисциплине: Базы данных

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

Z9411

Р. С. Кафка

номер группы

подпись, дата

инициалы, фамилия

Студенческий билет №

2019/3603

Шифр ИНДО

Санкт-Петербург 2023

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 3

1 Системный анализ предметной области 4

1.1 Описание предметной области 4

2.1 Описание входных документов для заполнения БД 7

3.1 Определение пользователей 7

4.1 Определение запросов 7

5.1 Определение выходных документов 7

2 Анализ сущностей и связей между ними: ER–диаграмма 9

3 Нормализация отношений: схема БД 13

4 Запросы 15

5 Анализ разрешений и запретов на операции с табличными данными для различных пользователей 22

6 Проектирование пользовательского интерфейса 24

6.1 Реализация всех запросов через вызовы хранимых процедур 24

6.2 Хранимые процедуры для выдачи требуемых разрешений каждому пользователю 36

6.3 Триггеры для работы пользователей с таблицами базы данных 38

7 Обработка и визуализация данных 45

7.1 Обработка и визуализация данных инструментами языка программирования Python 45

7.2 Визуализация данных программными инструментами Excel 50

ЗАКЛЮЧЕНИЕ 52

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 54

ПРИЛОЖЕНИЕ А 56

ПРИЛОЖЕНИЕ Б 60

ПРИЛОЖЕНИЕ В 67

Введение

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

MySQL является реляционной системой управления базами данных (РСУБД). Обладает мощными возможностями для работы с большим массивом данных, представленным в таблицах. MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты. MySQL гибок за счёт поддержки большого количества типов данных и типов таблиц.

Также необходимо получить практические навыки в визуализации данных, так как необходимо уметь представлять информацию в грамотном, понятном и презентабельном виде. Визуализация данных будет производиться в средах Excel и Python.

Для проектирования и разработки был предложен вариант «Обслуживание рейсов в аэропорту».

Цель: разработка полноценной информационной системы средствами MySQL-сервер.

Задачи:

  1. Анализ предметной области.

  2. Анализ сущностей и связей между ними (на базе ER–диаграмм). Составление предварительной схемы данных.

  3. Нормализация отношений в предварительной схеме данных (приведение отношений к третьей нормальной форме).

  4. Составление требуемых запросов к базе данных (на языке SQL).

  5. Анализ разрешений и запретов на операции с табличными данными для различных пользователей.

  6. Проектирование пользовательского интерфейса: разработка хранимых процедур и триггеров в среде MySQL.

  7. Обработка и визуализация данных с помощью систем аналитической обработки данных

  8. Обработка и визуализация данных средствами выбранного языка программирования

  1. Системный анализ предметной области

    1. Описание предметной области

Аэропорт обслуживает рейсы разных авиакомпаний. У каждой авиакомпании есть несколько рейсов. Авиакомпании предоставляют самолеты различного типа (вместимости). Самолеты характеризуются типом, годом выпуска, количеством мест и фирмой–производителем. В один город могут быть несколько рейсов в разное время, осуществляемых различными авиакомпаниями. Самолеты обслуживаются экипажем: командир корабля, второй пилот, штурман, бортинженер и стюардессы. О сотрудниках хранится следующая информация: Ф.И.О., должность, квалификация, экипаж. Рейс имеет свой номер, пункт отправления, пункт прибытия, время вылета, время в пути, тип самолета, название авиакомпании, обслуживающей данный рейс. Билет на самолет имеет свой номер и № рейса, ФИО пассажира, № места, стоимость, дата продажи, дата бронирования. Пассажир, приобретая билет на самолет, сообщает о себе паспортные данные. Клиент может забронировать билет по Интернету и выкупить его за 3 часа до вылета.

В результате проведённого анализа предметной области базы данных «Обслуживание рейсов в аэропорту» легко перечислить основные сущности этой БД. В реляционную модель проектированной БД будут входить следующие таблицы: Авиакомпании, Самолёты, Рейсы, Сотрудники, Билеты, Пассажиры, Экипажи. Список сущностей представлен в таблице №1.

Таблица №1 – Список сущностей

Название

Назначение

1

Авиакомпании

Информация об авиакомпаниях, которые обслуживает аэропорт

2

Самолёты

Информация о самолётах, предоставляемых авиакомпаниями

3

Сотрудники

Информация о сотрудниках самолёта

4

Рейсы

Информация о рейсах

5

Билеты

Данные о рейсе для пассажиров и аэропорта

6

Пассажиры

Данные о пассажирах

7

Экипажи

Данные об экипажах

Для каждой таблицы (сущности) были приведены описания её атрибутов. Атрибуты – колонки таблицы, которые выражают определённое свойство. Списки атрибутов для сущностей представлены в таблице №2, таблице №3, таблице №4, таблице №5, таблице №6, таблице №7, таблице №8 соответственно.

Таблица №2 – Описание атрибутов сущности Авиакомпании

Название

Назначение

Тип данных

Может быть NaN

Код авиакомпании

Идентификатор авиакомпании

Текстовый

Нет

Название авиакомпании

Название авиакомпании

Текстовый

Нет

Дата основания

Дата основания авиакомпании

Дата

Нет

Штаб-квартира

Штаб-квартира авиакомпании

Текстовый

Нет

Таблица №3 – Описание атрибутов сущности Самолёты

Название

Назначение

Тип данных

Может быть NaN

ID самолёта

Идентификация самолёта

Числовой

Нет

Тип самолёта

Тип самолёта

Текстовый

Нет

Год выпуска

Год выпуска самолёта

Текстовый

Нет

Количество мест

Количество мест в самолёте для пассажиров

Числовой

Нет

Фирма-производитель

Фирма-производитель, которая построила самолёт

Текстовый

Нет

Таблица №4 – Описание атрибутов сущности Сотрудники

Название

Назначение

Тип данных

Может быть NaN

ID сотрудника

Идентификационный номер сотрудника

Числовой

Нет

ФИО сотрудника

Ф.И.О. сотрудника аэропорта

Текстовый

Нет

Должность

Должность сотрудника

Текстовый

Нет

Квалификация

Квалификация сотрудника

Текстовый

Нет

Номер экипажа

К какому экипажу принадлежит сотрудник

Числовой

Нет

Таблица №5 – Описание атрибутов сущности Рейсы

Название

Назначение

Тип данных

Может быть NaN

Номер рейса

Номер рейса для идентификации

Числовой

Нет

Пункт отправления

Пункт отправления рейса

Текстовый

Нет

Пункт прибытия

Пункт прибытия рейса

Текстовый

Нет

Время вылета

Время вылета самолёта

Дата

Нет

Время в пути

Время в пути рейса, указано в количестве минут

Числовой

Нет

ID самолёта

ID самолёта, обслуживающий рейс

Текстовый

Нет

Код авиакомпании

Код авиакомпании, обслуживающий рейс

Текстовый

Нет

Номер экипажа

Номер экипажа, который обслуживает самолёт

Числовой

Нет

Таблица №6 – Описание атрибутов сущности Билеты

Название

Назначение

Тип данных

Может быть NaN

Номер билета

Номер билета для идентификации

Числовой

Нет

Номер рейса

Номер рейса для идентификации

Числовой

Нет

ID пассажира

Идентификация номера пассажира

Текстовый

Нет

Номер места

Номер рейса на самолёт

Текстовый

Нет

Стоимость

Стоимость билета

Числовой

Нет

Дата продажи

Дата продажи билета

Дата

Нет

Дата бронирования

Дата бронирования билета

Дата

Да

Таблица №7 – Описание атрибутов сущности Пассажиры

Название

Назначение

Тип данных

Может быть NaN

ID пассажира

Идентификация номера пассажира

Числовой

Нет

ФИО пассажира

ФИО пассажира по паспорту

Текстовый

Нет

Пол

Пол пассажира

Текстовый

Нет

Дата рождения

Дата рождения пассажира

Дата

Нет

Серия/номер паспорта

Серия/номер паспорта пассажира

Текстовый

Нет

Гражданство

Гражданство пассажира

Текстовый

Нет

Таблица №8 – Описание атрибутов сущности Экипажи

Название

Назначение

Тип данных

Может быть NaN

Номер экипажа

Идентификация номера экипажа

Числовой

Нет

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