Лабораторная работа №1. Выполнили студенты 19se-1: Долгополов и Бурцев (Долгобурцев)
ВАРИАНТ 3. Уровень 1
- Дана схема базы данных в виде следующих отношений. С помощью операторов SQL создать логическую структуру соответствующих таблиц для хранения в СУБД, используя известные средства поддержания целостности (NOT NULL, UNIQUE, и т.д.). Обосновать выбор типов данных и используемые средства поддержания целостности. При выборе подходящих типов данных использовать информацию о конкретных значениях полей БД (см. прил.1)
- Ввести в ранее созданные таблицы конкретные данные (см. прил. 1). Использовать скрипт-файл из операторов INSERT или вспомогательную утилиту .
- Используя оператор SELECT создать запрос для вывода всех строк каждой таблицы. Проверить правильность ввода. При необходимости произвести коррекцию значений операторами INSERT, UPDATE, DELETE.
b) всех различных районов проживания заказчиков;
c) всех названий прокатных пунктов и их мест расположения.
- Создав запрос получить следующую информацию:
a) идентификаторы и фамилии заказчиков, проживающих в Приокском или Сормовском районе или тех, чьи фамилии оканчиваются на “ин”;
b) номер, дата, срок проката и сумма для тех записей, где сумма проката более 2000руб. Отсортировать по возрастанию суммы и срока проката;
c) названия вещей и адрес складирования, для вещей, оставшихся в количестве не менее 7.
- На основании данных о прокате вещей вывести все данные в таком формате:
a) фамилия клиента, название пункта проката, дата, номер прокатной квитанции. Отсортировать по первым двум полям;
b) название пункта проката, дата, название вещи, сумма.
- Вывести:
a) названия прокатных пунктов, которые отдавали в прокат утюги или оказывали услуги клиентам своего района;
b) имена и адреса заказчиков, бравших в прокат вещи со стоимостью проката более 8000руб не ранее февраля месяца. Вывести вместе с названиями прокатных пунктов, где были взяты вещи, проиведя по ним сортировку;
c) название и прокатную цену вещей взятых заказчиком Кожаковым в прокатных пунктах других районов;
d) название и оставшееся количество вещей, которые отдавали более чем в одном прокатном пункте.
- Создать запрос для модификации всех значений столбца с суммарной величиной оплаты таблицы прокат, чтобы он содержал истинную сумму, оплачиваемую клиентом ( с учетом скидки). Вывести новые значения.
- Расширить таблицу с данными о прокате столбцом, содержащим величину взимаемых комиссионых. Создать запрос для ввода конкретных значений во все строки таблицы проката.
Уровень 2
- Используя операцию IN (NOT IN) реализовать следующие запросы:
a) найти вещи, бравшиеся в прокат заказчиками с размером скидки более 2%;
b) найти все вещи, бравшиеся в прокат заказчиком, бравшим что-либо в прокатных пунктах своего района;
c) запросы заданий 7.b, 7.с.
- Используя операции ALL-ANY реализовать следующие запросы:
a) определить те вещи, которые брались летом на самый продолжительный срок;
b) найти прокатные пункты, отдававшие вещи с самой большой ценой;
c) найти таких заказчиков, которые имеют такой же размер скидки, как кто-либо из бравших на прокат радиоприемник;
-
Используя операцию UNION получить адреса проживания заказчиков и места расположения прокатных пунктов.
-
Используя операцию EXISTS ( NOT EXISTS ) реализовать нижеследующие запросы. В случае, если для текущего состояния БД запрос будет выдавать пустое множество строк, требуется указать какие добавления в БД необходимо провести.
a) найти две самые дорогие вещи, сдававшиеся в прокат не позднее октября;
b) найти прокатные пункты, сдававшие все вещи всем заказчикам из Нижегородского района;
c) найти заказчиков не бравших в прокат вещи ценой мене 5000руб. в прокатных пунктах чужих районов;
d) найти заказчиков, бравших вещи во всех прокатных пунктах с размером комиссионных менее 5%.
- Реализовать запросы с использованием аггрегатных функций:
a) найти средний срок проката вещей, бравшихся в прокатных пунктах Советского района;
b) найти заказчика, имеющего минимальную скидку среди бравших вещи в бюро проката N8;
c) найти те записи о прокате, где стоимость проката больше средней по району, в котором располагается бюро найма;
d) найти общее число вещей, бравшихся Семеновым.
- Используя средства группировки реализовать следующие запросы:
a) найти суммарную величину стоимости проката для каждой вещи;
b) определить для каждой вещи средний срок проката за осенний период;
c) найти для каждого заказчика, бравшего вещи во всех бюро проката Советского района, число различных бравшихся в прокат вещей;
d) получить сводную таблицу “бюро проката - вещь-суммарная стоимость проката”.