Вводная
Цель работы
Используя данные базы данных, подготовленной в предыдущей лабораторной работе, подготовить и реализовать серию запросов, связанных с выборкой информации и модификацией данных таблиц.
Задание
- Подготовить 3 запроса с использованием различных функций работа с полем дата, со строковыми данными (в том числе групповых).
-
Определить свой вариант для выполнения последующих заданий при помощи SQL запроса:
SELECT MOD(ORD("?"),5)+1
Где "?" - это первая буква вашей фамилии кириллицей. - Подготовить и выполнить согласно своему варианту средствами СУБД MySQL 4 запроса по выборке информации из таблиц базы данных с использованием агрегатных функций.
- Подготовить и выполнить согласно своему варианту средствами СУБД MySQL 2 запроса по модификации информации (вставка, удаление, замещение) из таблиц базы данных для решения нижеприведенных задач. При этом в тех заданиях, где речь идет о создании таблиц, предполагается формировании постоянной таблицы базы данных.
Варианты
Варианты заданий на составление запросов по выборке информации из таблиц базы данных
Вариант 1.
- Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее поставляемое количество деталей.
- Выдать все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие не яв-ляются попарно соразмещенными в одном городе.
- Выдать номера изделий, для которых детали полностью поставляет поставщик 1. Т.е. поставляемых поставщиком 1 деталей достаточно для полного комплектования изделия. Состав деталей изделия можно оценить на основе ба-зового набора данных таблицы поставка, имея в виду что в базовом наборе данных отражен полный состав всех изделий.
- Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью 1 в количестве, большем, чем средний объем поставок детали 1 для этого изделия.
Вариант 2.
- Выдать общее количество деталей P1, поставляемых поставщиком 1.
- Выдать все пары названий городов, таких, что какой-либо поставщик из первого города поставляет детали для некоторого изделия, изготовляемого во втором городе.
- Выдать номера изделий, использующих только детали, поставляемые поставщиком 1.
- Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона, для изделия, изготавливаемого также в Лондоне.
Вариант 3.
- Выдать номера и фамилии поставщиков, поставляющих одну и ту же деталь для всех перечисленных изделий. Перечень изделий согласовать с преподавателем.
- Выдать общее число изделий (не деталей), для которых поставляет детали поставщик 1.
- Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь. Т.е. необходимо получить такие номера изделий, детали для которой поставляются всеми поставщиками, среди поставляемых деталей которого есть детали красного цвета.
- Выдать все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие являются попарно соразмещенными в одном городе.
Вариант 4.
- Выдать номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь. Т.е. необходимо выдать полные сведения о всех поставщиках которые поставляют такие детали, которые есть в поставках поставщиков, поставляющих красные детали.
- Выдать список деталей, поставляющихся для всех изделий, изготавливаемых в Лондоне.
- Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона.
- Выдать номера деталей, поставляемых для какого-либо изделия из Лондона.
Вариант 5.
- Выдать номера изделий, для которых детали поставляются по крайней мере одним поставщиком не из того же самого города, что и изделие.
- Выдать список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно.
- Выдать номера изделий, использующих, по крайней мере, одну деталь, по-ставляемую поставщиком S1. Т.е. показать такие изделия, для производства которых пригодились бы детали, поставляемые поставщиком S1.
- Выдать номера и названия деталей, поставляемых для какого-либо изделия в Лондоне.
Варианты заданий на составление запросов по модификации информации из таблиц базы данных
Вариант 1.
- Увеличить на 10 рейтинг всех поставщиков, рейтинг которых в настоящее время меньше, чем рейтинг поставщика S4.
- Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона.
Вариант 2.
- Удалить все изделия, для которых нет поставок деталей.
- Построить таблицу с номерами поставщиков и парами номеров деталей, таких, что некоторый поставщик поставляет обе указанные детали. При этом пары вида 1 и 2, а также 2 и 1 считать одинаковыми.
Вариант 3.
- Увеличить размер поставки на 10 процентов для всех поставок тех постав-щиков, которые поставляют какую-либо красную деталь.
- Построить таблицу с комбинациями "цвет детали-город, где хранится деталь", исключая дубликаты пар (цвет-город).
Вариант 4.
- Построить таблицу, содержащую список номеров деталей, которые постав-ляются либо каким-нибудь поставщиком из Лондона, либо для какого-либо изделия в Лондон.
- Вставить в таблицу shoppers нового поставщика с номером 10 с фамилией Уайт из города Нью-Йорк с неизвестным рейтингом.
Вариант 5.
- Удалить все изделия из Рима и все соответствующие поставки.
- Построить таблицу с упорядоченным списком всех городов, в которых размещаются по крайней мере один поставщик, деталь или изделие.
Вопросы
- Каким образом сохранить результаты запроса в таблице?
- В каких случаях вместо фразы IN можно использовать операцию сравнения?
- Какие существуют средства группирования в SQL? Как они используются?