Добавил:
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). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 курс 2 семестр (курсовая) / Z9411_КафкаРС_ТП_Курсовая.docx
Скачиваний:
7
Добавлен:
24.10.2023
Размер:
1.56 Mб
Скачать

4.2 Обработка данных

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

  1. Запрос «Поставки в январе»

Рисунок 17 - Запрос «Поставки в январе» в конструкторе запросов

Данный запрос выполняет довольно важную функцию: показывает количество заказанного магазином товара за месяц. Что немаловажно, он отображает и общую сумму, которая является вычисляемой по формуле. Ниже приведен SQL вид запроса:

SELECT Поставка.Дата, Инструменты.Название, Поставка.Количество, [Количество]*[Инструменты]![Цена] AS Сумма

FROM Инструменты INNER JOIN Поставка ON Инструменты.Код = Поставка.[Код инструмента]

WHERE (((Поставка.Дата) Like "*.01.2022"));

Рисунок 18 - Результат выполнения запроса «Поставки в январе»

Результат запроса можно представить в виде диаграммы, сводной таблицы и таблицы обычной. Мы выберем последний вариант:

В ИС «Музыкальный магазин» есть два аналогичных запроса, выводящих результат поставок за февраль и март, поэтому мы не будем их рассматривать и перейдем к остальным запросам.

  1. Запрос «Незаказанные товары»

Рисунок 19 - Запрос «Незаказанные товары» в конструкторе запросов

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

Ниже приведен SQL вид запроса:

SELECT Инструменты.Код, Инструменты.Название, Инструменты.Цена

FROM Инструменты LEFT JOIN Поставка ON Инструменты.Код = Поставка.[Код инструмента]

WHERE (((Поставка.[Код инструмента]) Is Null));

Рисунок 20 - Результат выполнения запроса «Незаказанные товары»

  1. Запрос «Продажа за январь»

Рисунок 21 - Запрос «Продажа за январь» в конструкторе запросов

Следующий запрос рассматривает количество проданного товара за месяц и выводит количество и сумму по каждому инструменту.

Ниже приведен SQL вид запроса:

SELECT Продажа.Дата, Инструменты.Название, Продажа.Количество, ([Инструменты]![Цена]*[Продажа]![Количество])+(([Инструменты]![Цена]*[Продажа]![Количество])*0.25) AS Сумма

FROM Инструменты INNER JOIN Продажа ON Инструменты.Код = Продажа.[Код инструмента]

WHERE (((Продажа.Дата) Like "*.01.2022"))

ORDER BY Продажа.Дата;

Рисунок 22 - Результат выполнения запроса «Продажи за январь»

Запросы «Продажи за февраль» и «Продажи за март» работают аналогичным образом.

  1. Запрос «Топ продаж»

Рисунок 23 - Запрос «Топ продаж» в конструкторе запросов

Данный запрос выводит список самых продаваемых товаров за весь период (сюда входит товар, который покупали не менее 4 раз).

Ниже приведен SQL вид запроса:

SELECT Инструменты.Код, Инструменты.Название, Sum(Продажа.Количество) AS [Sum-Количество]

FROM Инструменты INNER JOIN Продажа ON Инструменты.Код = Продажа.[Код инструмента]

GROUP BY Инструменты.Код, Инструменты.Название

HAVING (((Sum(Продажа.Количество))>=4))

ORDER BY Sum(Продажа.Количество);

Рисунок 24 - Результат выполнения запроса «Топ продаж»

Рисунок 25 - Запрос «Непроданные товары» в конструкторе запросов

Запрос «Непроданные товары»

По аналогии с запросом «Незаказанные товары», данный запрос выводит информацию о тех товарах, которые не были проданы.

Ниже приведен SQL вид запроса:

SELECT Инструменты.Код, Инструменты.Название, Инструменты.Цена

FROM Инструменты LEFT JOIN Продажа ON Инструменты.Код = Продажа.[Код инструмента]

WHERE (((Продажа.[Код инструмента]) Is Null));

Рисунок 26 - Результат выполнения запроса «Непроданные товары»

Рисунок 27 - Запрос «Наличие на складе» в конструкторе запросов

Запрос «Наличие на складе» на создание таблицы

Рисунок 28 - Таблица «Наличие», создаваемая запросом

Данный запрос является запросом на создание таблицы. Выбираются те товары, которые на текущую дату имеются на складе. Все данные собираются и заносятся в специально создаваемую таблицу «Наличие»:

Ниже приведен SQL вид запроса:

SELECT Поставка.Дата, Поставщики.Название, Инструменты.Название, Поставка.Количество, Инструменты.Цена INTO Наличие

FROM Поставщики INNER JOIN (Инструменты INNER JOIN Поставка ON Инструменты.Код = Поставка.[Код инструмента]) ON Поставщики.Код = Поставка.[Код поставщика]

WHERE (((Поставка.Дата)<=Now()));