
- •Лабораторная работа № 3
- •Структура лабораторной работы
- •1. Общие сведенья об операторах реляционной алгебры
- •1.1. Оператор объединения.
- •1.2. Использование предикатов in, between, like, is null
- •1.3. Вложенные (подчиненные) запросы
- •1.4. Формирование запросов на sql по формулам реляционной алгебры
- •2. Задание к лабораторной работе
- •Реализовать следующие запросы средствами sql:
- •Реализовать запросы на sql, по заданным операциям реляционной алгебры (все имена атрибутов переименовать в естественно-языковую форму).
- •3. Оформление отчета
- •4. Контрольные вопросы
2. Задание к лабораторной работе
Замечания по ходу выполнения лабораторной работы.
При выполнении заданий лабораторной работы все вычисляемые поля заменять синонимами, используя опцию AS в предложении SELECT.
Если при выполнении запроса значения повторяются, необходимо использовать параметр DISTINCT.
Реализовать следующие запросы средствами sql:
Получить общее, минимальное, максимальное и среднее количество поставляемых деталей (таблица будет содержать одну строку).
Получить общее количество всех поставляемых деталей и общую стоимость всех поставок (таблица будет содержать одну строку).
Получить общий список наименований материалов и наименований деталей (использовать операцию объединения).
Получить список поставщиков, которые поставляют деталей «Д1» больше чем эти детали поставляет поставщик с номером «1»
Получить список деталей, цена которых больше цены «стальной гайки» (номер «стальной гайки» Д1). Определить и обосновать (устно), какой параметр выбора предпочтительнее (название или номер детали).
Получить список деталей (название и номер детали), количество поставок которых находится в диапазоне от 20 до 40.
Получить список деталей, поставляемых поставщиками из «Харькова» «Колей» и «Машей». Список поставщиков задать явно (перечислением) и воспользоваться оператором IN. Отсортировать список в обратном порядке.
Получить список деталей, поставляемых поставщиками из города, начинающегося с буквы «С».
Получить список название деталей и поставщиков, поставляемых детали с номером, содержащим цифру «8».
Получить список поставщиков, адрес и наименование детали, которые поставляют хотя бы одну такую же деталь, как и поставщик «2».
Получить список поставщиков, которые не поставляют ни одной детали (использовать либо оператор IN (NOT IN), либо LEFT JOIN или RITGH JOIN для реализации операции вычитания).
Получить список названий деталей и материала, из которого они сделаны, количество поставок которых меньше чем количество поставок деталей «БОЛТ» сделанных из «Чугуна». Здесь под термином «количество» понимается не значение поля KOL (количество поставок) таблицы POSTKA, а количество поставляемых деталей соответствующее заданному материалу посчитанного функцией COUNT в поле MATER (наименование материала) таблицы SP_MATER.
Реализовать запросы на sql, по заданным операциям реляционной алгебры (все имена атрибутов переименовать в естественно-языковую форму).
В следующих запросах, во избежание конфликтов, всегда рекомендуется перед именем поля указывать имя таблицы или соответствующий псевдоним.
Для реализации 5-го запроса воспользоваться эквивалентной формулой, реализующей операцию пересечения через композицию операций вычитания.
Для реализации 6-го запроса использовать в качестве очередного источника данных сохраненный запрос Ti, сформулированный на предыдущем шаге.