Примечание
ЭТО АРХИВНАЯ ВЕРСИЯ КУРСА!
Материалы предназначаются для пересдающих дисциплину "ОП.08 - Основы проектирования баз данных" в соответствии с учебными планами СПО годов набора ДО 2024-го. Для того чтобы ознакомиться с актуальным курсом "ИТ.03 - Основы проектирования баз данных" включающим интерактивные примеры, перейдите по ссылке.
Материалы были перенесены со старого сайта с минимальной доработкой, поэтому не все возможности курса могут работать как ожидается, где-то может слететь форматирование.
Домашние задания в рамках курса проверяться не будут!
Домашнее задание №2 по дисциплине ОП.08 - Основы проектирования баз данных
В рамках задания рассматривается примерная База Данных магазина оргтехники.
Схема Базы Данных в виде набора SQL-запросов:
hardware.sql
Пояснение по структуре БД:
id— уникальный идентификатор в БД, автоматически инкрементируетсяtitle— название товарной позиции, содержит также марку и артикул моделиprice— цена товара в рублях (с копейками)amount— количество единиц товара на складеtag— одна из возможных отметок-теговnew— новинкаdiscount— товар со скидкой
[!NOTE]
В чем разница между товаром и товарной позицией?
Товар — это та единица, которую можно продать со склада, а товарная позиция по сути — это определенный вид товаров. Часто товарные позиции называют также номенклатурными наименованиями.
Например, на складе находится 4 монитора LG определенной модели. Так вот, продать можно один из них, и на складе останутся 3 таких же, той же модели и производителя, то есть фактически продали один товар, а не товарную позицию. Если же все товары продали, то товарная позиция в списке может остаться, только остаток по ней будет 0, и если в дальнейшем у поставщика мы будем закупать такие же товары, то нет смысла убирать товарную позицию даже если по ней на складе нет товаров.
Задание
Необходимо написать SQL-запросы чтобы выполнить каждую из задач:
- Вывести суммарное количество единиц техники на складе (не товарных позиций, а товаров!)
- Вывести какие товары на складе закончились
- Вывести среднюю цену монитора
- Вывести все клавиатуры, при этом результаты отсортировать от самой дешевой до самой дорогой
- Вывести в рамках одного запроса количество товарных позиций по каждому тегу с использованием группировки, результаты отсортировать от максимального количества до минимального (товары без тегов не учитываем)
- Вывести количество товарных позиций со скидками на складе
- Вывести название и цену самой дорогой новинки
- Добавить в таблицу товар
Ноутбук Lenovo 2BXQ7E9XDкак новинку по цене 54500 руб. в единственном экземпляре - Найти и удалить по названию из базы ошибочно добавленный товар
Очки PS VR 2(задачу можно решить как одним запросом, так и двумя разными, принимаются оба варианта решения, при этом не забудьте что в запросе должен формально присутствовать первичный ключ, иначеsafe_modeне позволит его выполнить и вы увидите ошибкуError Code: 1175)
Требования к оформлению
Результат выполнения задания должен быть оформлен в виде файлов:
- Файл дампа итоговой БД (после выполнения всех задач) в формате SQL, должен называться:
hardware_dump.sql, при этом при подготовке дампа необходимо учесть что в него должны попасть структура и данные только тех таблиц, которые относятся к данной домашней работе - Файл последовательных SQL-запросов для каждого из пунктов задания, должен называться:
hardware_tasks.sql, при этом ОБЯЗАТЕЛЬНО учитывать пример формата, описанный ниже.