Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5сем / lab5_database

.docx
Скачиваний:
1
Добавлен:
27.08.2024
Размер:
247.72 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

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

Ассистент

Б.К.Акопян

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

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

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

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №5

СОЗДАНИЕ ЗАПРОСОВ НА СЕРВЕРЕ MYSQL

по курсу: БАЗЫ ДАННЫХ

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

СТУДЕНТ ГР. №

4016

М.О. Жовтяк

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

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

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

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

Изучить инструкции языка SQL по манипулированию табличными данными.

  1. Вариант работы

Вариант 14.

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

  1. Ход работы

Запросы реализуются в среде MySQL Workbench.

Реализуется однотабличный запрос на выборку с условием фильтрации (WHERE).

Задача 1. Вывести номера обращений, по которым были выданы книги 17 числа. Результат представлен на рисунке 1.

Рисунок 1 – Результат запроса по выбору id обращений с выдачей книг 17 числа

Реализуются два запроса на выборку к нескольким таблицам с условием фильтрации, сортировкой и группировкой (WHERE, ORDER BY, GROUP UP).

Задача 1. Вывести имена людей, которые делали хоть одно обращение в библиотеку. Результат представлен на рисунке 2.

Рисунок 2 – Результат запроса на выборку читателей библиотеки

Задача 2. Вывести количество обращений каждого читателя к библиотеке. Результат представлен на рисунке 3.

Рисунок 3 – Результат запроса на вывод количества обращений читателей к библиотеке

Реализуются два запроса с использованием агрегатных функций.

Задача 1. Вывести максимальный депозит книги автора. Результат представлен на рисунке 4.

Рисунок 4 – Результат вывода максимального депозита автора

Задача 2. Вывести количество обращений в библиотеку с ожидаемой датой возврата 2022-10-20. Результат представлен на рисунке 5.

Рисунок 5 – Результат запроса на вывод обращений с датой

Реализуется один запрос на обновление данных с условием.

Задача 1. Установить определенную цену аренды книг первого автора. Результат представлен на рисунке 6.

Рисунок 6 – Результат запроса на обновление аренды книг

Реализуется запрос на удаление данных с условием.

Задача 1. Удалить обращения, которые поступили 2022-10-16. Результат представлен на рисунке 7.

Рисунок 7 – Удаление обращений с определенной датой

Реализуется план выполнения любого запроса с помощью команды EXPLAIN. Результат представлен на рисунке 8.

Рисунок 8 – План выполнения любого запроса

  1. Вывод

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

В ходе работы проблем не возникло.

ПРИЛОЖЕНИЕ

USE my_library;

SELECT id_appeal FROM appeals

WHERE DAY(issue_date) = 17;

use my_library;

select distinct readers.reader_FIO from appeals, readers

where appeals.id_reader = readers.id_reader

ORDER BY readers.reader_FIO;

use my_library;

select readers.reader_FIO, COUNT(appeals.id_appeal)

from readers, appeals

WHERE appeals.id_reader = readers.id_reader

GROUP BY readers.reader_FIO;

use my_library;

select authors.author_FIO, MAX(books.deposit)

from authors, books

WHERE authors.id_author = books.id_author

group by authors.author_FIO

use my_library;

select COUNT(id_appeal) FROM appeals

where return_day_expected = '2022-10-20';

use my_library;

update books

set coast_per_day = 15

where id_author = 1;

select * from books

use my_library;

delete from appeals

where issue_date = '2022-10-16' limit 10;

select * from appeals

use my_library;

explain select * from appeals where id_reader = '1';

Список использованных источников

  1. Учебно-методическое пособие «Разработка и администрирование базы данных с открытым исходным кодом» - Аграновский А.В., В.В. Боженко, Е.Л. Турнецкая, 2022 г.

Соседние файлы в папке 5сем