
БД 3 курс осень / БД5
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Ассистент |
|
|
|
Б.К.Акопян |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №5 |
СОЗДАНИЕ ЗАПРОСОВ НА СЕРВЕРЕ MySQL |
по курсу: БАЗЫ ДАННЫХ |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4116 |
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цель работы: изучить инструкции языка SQL по манипулированию табличными данными.
Вариант 21.
Организация спортивного мероприятия
В Гуапландии любят спорт. Спортивная инфраструктура страны представлена спортивными сооружениями различного типа: спортивные залы, манежи, стадионы, корты и т.д. Каждая из категорий спортивных сооружений обладает атрибутами, специфичными только для нее: стадион характеризуется вместимостью, корт – типом покрытия. Гуапчане-спортсмены под руководством тренеров занимаются отдельными видами спорта, при этом один и тот же спортсмен может заниматься несколькими видами спорта, и в рамках одного и того же вида спорта может тренироваться у нескольких тренеров. Все спортсмены объединяются в спортивные клубы, при этом каждый из них может выступать только за один клуб. Организаторы соревнований проводят состязания по отдельным видам спорта на спортивных сооружениях города. По результатам участия спортсменов в соревнованиях производится награждение.
Ход работы:
Модель данных из прошлой лабораторной работы открыта в формате .mwb (рисунок 1)
Рисунок 1- модель данных
Реализован запрос, который выводит все коды тренеров, которые преподают фехтование (код фехтования :5) (рисунок 3)
Рисунок 2- таблица «тренеры» до выполнения запроса
Рисунок 3- реализация запроса на вывод кода тренера и результат работы запроса
Затем выполняется запрос по трем таблицам, которые выводит количество видов спорта, по которым проводятся соревнования, и которые группируются по фамилии тренера, преподающего этот вид спорта и названию вида спорта (рисунок 7). В данном запросе INER JOIN выполняет объединение таблиц по соответствующим ключам , GROUP BY группирует результат запроса, ORDER BY сортирует результат (параметр ASC означает, что сортировка по возрастанию)
Рисунок 4- таблица «соревнования»
Рисунок 5- таблица «тренеры»
Рисунок 6- таблица «вид_спорта»
Рисунок 7- реализация запроса по трем таблицам
Далее создается запрос, который выводит количество соревнований по каждому типу спортивного сооружения, данные сортируются по спортивным сооружениям в порядке убывания, также выполнена фильтрация по дате проведения соревнования, чтобы день соревнования был большее 11 (рисунок 9).
Рисунок 8- таблица «спортивные_сооружения»
Рисунок 9- реализация запроса по двум таблицам
C использованием агрегатной функции max, создавался запрос, который выводит фамилию тренера, у которого тренировка в самое позднее время (рисунок 11)
Рисунок 10- таблица «тренировки»
Рисунок 11- реализация запроса на вывод самого позднего времени
Далее создается запрос, выводящий спортсмена, у которого самая ранняя тренировка (рисунок 13)
Рисунок 12- таблица «спорсмены»
Рисунок 13- реализация запроса на вывод самого раннего времени
Создан запрос, который обновляет название спортивного клуба на «Ритм», если название клуба было «Импульс», с помощью LIMIT наложено ограничение на обновление только одной записи (рисунок 15)
Рисунок 14- таблица «спортивные_клубы»
Рисунок 15- реализация запроса на обновление данных
Затем создается запрос на удаление записи соревнования , в которой код_соревнования равен 7 (рисунок 17)
Рисунок 16- таблица «соревнования»
Рисунок 17- реализация запроса на удаление записи
С помощью команды EXPLAIN посмотрен план выполнения запроса, выводящего спортсмена, у которого самая ранняя тренировка. Количество строк EXPLAIN - это количество таблиц, участвующих в запросе (рисунок 18)
Рисунок 18- план выполнения запроса
Вывод: изучены инструкции языка SQL по манипулированию табличными данными.
Список используемых источников:
1. A.В. Аграновский, В.В. Боженко, Е.Л. Турнецкая. - Учебно-методическое пособие «Разработка и администрирование базы данных с открытым исходным кодом»‒ СПб.: ГУАП, 2022
2. Руководство по MySQL: https://metanit.com/sql/mysql.