- •Введение
- •Анализ разрешений и запретов на операции с табличными данными для различных пользователей.
- •Системный анализ предметной области
- •Описание предметной области
- •Описание входных документов для заполнения бд
- •Определение пользователей
- •Определение запросов
- •Определение выходных документов
- •Анализ сущностей и связей между ними: er–диаграмма
- •Нормализация отношений: схема бд
- •Запросы
- •Анализ разрешений и запретов на операции с табличными данными для различных пользователей
- •Проектирование пользовательского интерфейса
- •6.1 Реализация всех запросов через вызовы хранимых процедур
- •Хранимые процедуры для выдачи требуемых разрешений каждому пользователю
- •6.3 Триггеры для работы пользователей с таблицами базы данных
- •Обработка и визуализация данных
- •7.1 Обработка и визуализация данных инструментами языка программирования Python
- •Визуализация данных программными инструментами Excel
- •Заключение
- •Список использованных источников
- •Приложение а Листинг создания таблиц
- •Приложение б Листинг добавление данных в таблицы
- •Приложение в Скриншоты заполненных таблиц в бд
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 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-сервер.
Задачи:
Анализ предметной области.
Анализ сущностей и связей между ними (на базе ER–диаграмм). Составление предварительной схемы данных.
Нормализация отношений в предварительной схеме данных (приведение отношений к третьей нормальной форме).
Составление требуемых запросов к базе данных (на языке SQL).
Анализ разрешений и запретов на операции с табличными данными для различных пользователей.
Проектирование пользовательского интерфейса: разработка хранимых процедур и триггеров в среде MySQL.
Обработка и визуализация данных с помощью систем аналитической обработки данных
Обработка и визуализация данных средствами выбранного языка программирования
Системный анализ предметной области
Описание предметной области
Аэропорт обслуживает рейсы разных авиакомпаний. У каждой авиакомпании есть несколько рейсов. Авиакомпании предоставляют самолеты различного типа (вместимости). Самолеты характеризуются типом, годом выпуска, количеством мест и фирмой–производителем. В один город могут быть несколько рейсов в разное время, осуществляемых различными авиакомпаниями. Самолеты обслуживаются экипажем: командир корабля, второй пилот, штурман, бортинженер и стюардессы. О сотрудниках хранится следующая информация: Ф.И.О., должность, квалификация, экипаж. Рейс имеет свой номер, пункт отправления, пункт прибытия, время вылета, время в пути, тип самолета, название авиакомпании, обслуживающей данный рейс. Билет на самолет имеет свой номер и № рейса, ФИО пассажира, № места, стоимость, дата продажи, дата бронирования. Пассажир, приобретая билет на самолет, сообщает о себе паспортные данные. Клиент может забронировать билет по Интернету и выкупить его за 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 |
Номер экипажа |
Идентификация номера экипажа |
Числовой |
Нет |