практическая_работа
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра МО ЭВМ
отчет
по практической работе
по дисциплине «Основы технологий хранения данных»
Студент гр. |
|
|
Преподаватель |
|
Борисенко К.А. |
Санкт-Петербург
2020
Оглавление
Цель работы 3
Описание базы данных 3
Структура таблиц базы данных 4
status 4
sale 4
client 5
category 5
sale_has_good 5
source 5
category_has_good 6
good 6
Запросы и результаты 6
Выводы 17
Цель работы
Изучить процесс создания реляционной базы данных, а также запросов для реляционных баз данных на языке SQL и применить эти знания на практике.
Описание базы данных
В СУБД MySQL была создана база данных «store» со следующими таблицами:
status – статусы готовности товара;
sale – заказы;
client – клиенты;
category – категории товаров;
sale_has_good – сопоставление заказов товарам;
source – источник клиента;
category_has_good – сопоставление категорий товарам;
good – товар.
Структура таблиц базы данных
status
Описание полей:
id – идентификатор статуса;
name – наименование статуса.
sale
Описание полей:
id – идентификатор заказа;
client_id – идентификатор клиента;
dt_created – дата и время создания заказа;
sale_sum – суммарный объём заказов по клиенту;
status_id – идентификатор статуса готовности товара.
client
Описание полей:
id – идентификатор клиента;
first_name – имя клиента;
last_name – фамилия клиента;
source_id – идентификатор источника клиентов.
category
Описание полей:
id – идентификатор категории товаров;
name – наименование категории.
sale_has_good
Описание полей:
sale_id – идентификатор заказа;
good_id – идентификатор товара.
source
Описание полей:
id – идентификатор источника клиентов;
name – наименование источника.
category_has_good
Описание полей:
category_id – идентификатор категории товаров;
good_id – идентификатор товара.
good
Описание полей:
id – идентификатор источника клиентов;
name – наименование источника;
price – цена товара.
Запросы и результаты
Вывести фамилию и имя клиентов, упорядоченных по фамилии, имени, 10 первых записей.
Запрос:
Результат:
Вывести заказы с кодом статуса 4 или 5, 10 первых записей.
Запрос:
Результат:
Вывести доход по 5-ти категориям товаров.
Запрос:
Результат:
Вывести клиентов и их источники, 10 записей.
Запрос:
Результат:
Выведите список товаров с названиями категорий, в том числе товаров, не принадлежащих ни к одной из категорий, в том числе категорий не содержащих ни одного товара, 10 записей.
Запрос:
Результат:
Вывести 10 самых ранних заказов, которые позже 2015-03-11 00:00:00, со статусом «issued».
Запрос:
Результат:
Выведите список клиентов (имя, фамилия) и количество заказов данных клиентов, имеющих статус «new», 10 записей.
Запрос:
Результат:
Выведите список всех источников клиентов и суммарный объем заказов по каждому источнику. Результат должен включать также записи для источников, по которым не было заказов. Достаточно первых 10 записей.
Запрос:
Результат:
Выведите названия товаров, которые относятся к категории «Cakes» или фигурируют в заказах текущий статус которых «delivering». Результат не должен содержать одинаковых записей. Достаточно 10 записей.
Запрос:
Результат:
Вывести 5 самых дорогих заказов.
Запрос:
Результат:
Выведите список источников, из которых не было клиентов, либо клиенты, пришедшие из которых не совершали заказов или отказывались от заказов. Под клиентами, которые отказывались от заказов, необходимо понимать клиентов, у которых есть заказы, которые на момент выполнения запроса находятся в состоянии «rejected».
Запрос:
Результат:
Вывести товары и их категории, перечисленные через запятую. Достаточно 10 записей.
Запрос:
Результат:
Вывести 5 клиентов, имена которых начинаются на «S» и заканчиваются на «s».
Запрос:
Результат:
Вывести доход со всех заказов.
Запрос:
Результат:
Вывести медианную цену товара.
Запрос:
Результат:
Выводы
В ходе выполнения практической работы был изучен процесс создания реляционной базы данных, а также запросов для реляционных баз данных на языке SQL. Была создана реляционная база данных, и написаны запросы на языке SQL с использованием различных средств и конструкций языка.