Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Чурилов / 3 курс 2 семестр / Чурилов_БД_Z9411_ЛР4

.docx
Скачиваний:
12
Добавлен:
14.10.2024
Размер:
170.62 Кб
Скачать

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

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

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

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

Кафедра проблемно-ориентированных вычислительных комплексов

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

кандидат техн. наук _________________ Е.Л. Турнецкая

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

ЛАБОРАТОРНАЯ РАБОТА №4

Создание запросов на сервере MySQL

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

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

СТУДЕНТ ГР. Z9411 __________________ А.С. Чурилов

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

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

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

2022г.

Оглавление

1. Цель работы 3

2. Создание однотабличного запроса 3

3. Оформление запросов к нескольким таблицам 4

4. Реализация запроса на обновление данных 5

5. Реализация запроса на удаление данных 6

Заключение 7

Список источников 8

  1. Цель работы

Цель лабораторной работы: изучить инструкции языка SQL, манипулирующие табличными данными.

  1. Создание однотабличного запроса

Для выполнения работы воспользуемся базой данных DBtheatre, характеризующей информационную систему «Театр». Соответствующая даталогическая модель представлена на рисунке 1.

Рисунок 1 – Даталогическая модель информационной системы «Театра»

Запрос №1: выбрать всех сотрудников театра, рабочий стаж которых превышает 10 лет, и расположить найденные записи в порядке убывания.

Для выполнения данного запроса обратимся к таблице employees и, в частности, к полю exp_emp.

На рисунке 2 приведен перечень всех записей таблицы employees.

Рисунок 2 – Записи таблицы employees

В среде разработки пропишем следующий программный код:

select * from employees

where exp_emp > 10

order by exp_emp desc;

Отобранные по запросу и отсортированные строки представлены на рисунке 3.

Рисунок 3 – Результат отбора по запросу №1

  1. Оформление запросов к нескольким таблицам

Запрос №2: вывести информацию о жанре и типе спектаклей, которые будут представлены на гастролях в городах Сочи и Краснодар; также необходимо произвести сортировку записей по названию представления.

Для выполнения данного запроса обратимся к столбцам name­_perf, genre_perf и type_perf таблицы performances и к полю town_tour таблицы timetable.

На рисунке 4 приведен перечень всех записей таблицы timetable.

Рисунок 4 – Записи таблицы timetable

В среде разработки пропишем следующий программный код:

select performances.name_perf, performances.genre_perf, performances.type_perf, timetable.town_tour

from performances, timetable

where (timetable.town_tour = “Sochi” or timetable.town_tour = “Krasnodar”) and performances.name_perf = timetable.name_perf_tour

order by performances.name_perf;

Отобранные по запросу и отсортированные строки представлены на рисунке 5.

Рисунок 5 – Результат отбора по запросу №2

Запрос №3: выбрать среди спектаклей все представления кроме мюзиклов, выполнить группировку по жанрам и внутри каждого определить среднюю стоимость билета, произвести сортировку записей по найденным средним значениям в порядке возрастания.

Для выполнения данного запроса обратимся к столбцам genre_perf таблицы performances и к полю cost_ticket таблицы repertoire.

На рисунке 6 приведен перечень всех записей таблицы repertoire.

Рисунок 6 – Записи таблицы repertoire

В среде разработки пропишем следующий программный код:

select performances.genre_perf, avg(repertoire.cost_ticket) as avg_cost_genre

from performances, repertoire

where performances.genre_perf != “Musical” and performances.name_perf = repertoire.name_perf_repert

group by performances.genre_perf

order by avg_cost_genre;

Отобранные по запросу и отсортированные строки представлены на рисунке 7.

Рисунок 7 – Результат отбора по запросу №3

  1. Реализация запроса на обновление данных

Запрос №4: в расписании гастролей изменить место выступления с города Сочи на соседний город Адлер.

Для выполнения данного запроса обратимся к атрибуту town_tour таблицы timetable.

На рисунке 8 приведен перечень всех записей таблицы timetable.

Рисунок 8 – Записи таблицы timetable

В среде разработки пропишем следующий программный код:

update timetable

set town_tour = “Adler”

where town_tour = “Sochi”;

select * from timetable;

Обновленные по запросу строки представлены на рисунке 9.

Рисунок 9 – Результат обновления по запросу №4

  1. Реализация запроса на удаление данных

Запрос №5: удалить всю информацию о труппе, индивидуальный номер которой равен 5.

Для выполнения данного запроса обратимся к атрибуту id_troupe таблицы troupes.

На рисунке 10 приведен перечень всех записей таблицы troupes.

Рисунок 10 – Записи таблицы troupes

В среде разработки пропишем следующий программный код:

delete from troupes

where id_troupe = 5;

select * from troupes;

На рисунке 11 представлены строки таблицы после удаления тех, что заданы в запросе.

Рисунок 11 – Результат удаления по запросу №5

Заключение

В результате выполнения лабораторной работы были реализованы следующие задачи:

  • изучены инструкции языка SQL, позволяющие задавать однотабличные запросы;

  • получены практические навыки оформления запросов к нескольким таблицам с последующими группировкой и сортировкой данных;

  • приобретены знания по созданию запросов, дающих возможность менять данные внутри таблиц.

Список источников

  1. Кригель, А. SQL. Библия пользователя. [Текст] / А. Кригель. – Москва: Вильямс, 2010. – 752 с.

  2. Кузин, А.В. Разработка баз данных в системе Microsoft Access. Учебник. [Текст] / А.В. Кузин. – Санкт-Петербург: Форум, 2021. – 224 с.

  3. Кумскова, И.А. Базы данных. Учебник. [Текст] / И.А. Кумскова. – Москва: Кнорус, 2021. – 400 с.

  4. Свиридова, М.Ю. Система управления базами данных Access. [Текст] / М.Ю. Свиридова. – Москва: Academia, 2010. – 192 с.

  5. Гурвиц, Г.А. Microsoft Access 2021. Разработка приложений на реальном примере. [Текст] / Г.А. Гурвиц. – Москва: Лань, 2021. – 502 с.