Работа с базами данных

       

ВЫБОР И МОДИФИКАЦИЯ ДАННЫХ ТАБЛИЦ


Лабораторная работа 2

ВЫБОР И МОДИФИКАЦИЯ ДАННЫХ ТАБЛИЦ

Цель работы

Используя данные базы данных, подготовленной в первой лабораторной работе, подготовить и реализовать серию запросов, связанных с выборкой информации и модификацией данных таблиц.

Содержание работы и методические указания к ее выполнению

1. Изучить набор команд языка SQL, связанный с созданием запросов, добавлением, модификацией и удалением строк таблицы:

select - осуществление запроса по выборке информации из таблиц базы данных;

insert - добавление одной или нескольких строк в таблицу;

delete - удаление одной или нескольких строк из таблицы;



update - модификация одной или нескольких строк таблицы;

union - объединение запросов в один запрос.

2. Изучить состав, правила и порядок использования ключевых фраз оператора select:

select - описание состава данных, которые следует выбрать по запросу (обязательная фраза);

from - описание таблиц, из которых следует выбирать данные (обязательная фраза);

where - описание условий поиска и соединения данных при запросе;

group by - создание одной строки результата для каждой группы (группой называется множество строк, имеющих одинаковые значения в указанных столбцах);

having - наложение одного или более условий на группу;

order by - сортировка результата выполнения запроса по одному или нескольким столбцам;

into temp - создание временной таблицы, в которую будет осуществлен вывод результатов соответствующего запроса.

Порядок следования фраз в команде select должен соответствовать приведенной выше последовательности.

3. Подготовить и выполнить средствами программы dbaccess четыре запроса по выборке информации из таблиц базы данных для решения нижеприведенных задач.

4. Подготовить и выполнить средствами программы dbaccess два запроса по модификации информации (вставка, удаление, замещение) из таблиц базы данных для решения нижеприведенных задач. При этом в тех заданиях, где речь идет о создании таблиц, предполагается формирование постоянной таблицы базы данных.


5. Защитить лабораторную работу, ответив на контрольные вопросы.



Варианты заданий на составление запросов по выборке информации из таблиц базы данных



Вариант 1.

1. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее количество деталей.

2. Получить все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие не являются попарно соразмещенными.

3. Получить номера изделий, для которых детали полностью поставляет поставщик S1.

4. Получить номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия.

Вариант 2.

1. Выдать общее количество деталей P1, поставляемых поставщиком S1.

2. Получить все пары названий городов, таких, что какой-либо поставщик из первого города поставляет детали для некоторого изделия, изготовляемого во втором городе.

3. Выдать номера изделий, использующих только детали, поставляемые поставщиком S1.

4. Получить номера деталей, поставляемых каким-либо поставщиком из Лондона, для изделия, изготавливаемого также в Лондоне.

Вариант 3.

1. Выдать номера и фамилии поставщиков, поставляющих одну и ту же деталь для всех изделий.

2. Получить общее число изделий, для которых поставляет детали поставщик S1.

3. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий ка какую-либо красную деталь.

4. Получить все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие являются попарно соразмещенными.

Вариант 4.

1. Выдать номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь.

2. Получить полный список деталей для всех изделий, изготавливаемых в Лондоне.

3. Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона.



4. Получить номера деталей, поставляемых для всех изделий из Лондона.

Вариант 5.

1. Выдать номера изделий, для которых детали поставляются по крайней мере одним поставщиком не из того же самого города.

2. Получить список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно.

3. Выдать номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S1.

4. Получить номера и названия деталей, поставляемых для какого-либо изделия в Лондоне.

Вариант 6.

1. Выдать номера и названия изделий, для которых город является первым в алфавитном списке таких городов.

2. Получить цвета деталей, поставляемых поставщиком S1.

3. Выдать номера и фамилии поставщиков, поставляющих деталь Р1 для какого-либо изделия в количестве, большем среднего объема поставок детали Р1 для этого изделия.

4. Получить полный список деталей для всех изделий.

Вариант 7.

1. Выдать названия изделий, для которых поставляются детали поставщиком S1.

2. Получить номера деталей, поставляемых для какого-либо изделия поставщиком, находящимся в том же городе, где изготавливается это изделие.

3. Выдать номера и названия изделий, для которых поставщик S1 поставляет несколько деталей каждого из поставляемых им типов.

4. Получить номера изделий, для которых средний объем поставки деталей P1 больше наибольшего объема поставки любой детали для изделия J1.



Варианты заданий на составление запросов по модификации информации из таблиц базы данных



Вариант 1.

1. Увеличить на 10 рейтинг всех поставщиков, рейтинг которых в настоящее время меньше, чем рейтинг поставщика S4.

2. Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона.

Вариант 2.

1. Удалить все изделия, для которых нет поставок деталей.

2. Построить таблицу с номерами поставщиков и парами номеров деталей, таких, что некоторый поставщик поставляет обе указанные детали.

Вариант 3.

1. Увеличить размер поставки на 10 процентов для всех поставок тех поставщиков, которые поставляют какую-либо красную деталь.



2. Построить таблицу с комбинациями "цвет детали-город, где хранится деталь", исключая дубликаты пар (цвет-город).

Вариант 4.

1. Построить таблицу, содержащую список номеров деталей, которые поставляются либо каким-нибудь поставщиком из Лондона, либо для какого-либо изделия в Лондон.

2. Вставить в таблицу S нового поставщика с номером S10 с фамилией Уайт из города Нью-Йорк с неизвестным рейтингом.

Вариант 5.

1. Удалить все изделия из Рима и все соответствующие поставки.

2. Построить таблицу с упорядоченным списком всех городов, в которых размещаются по крайней мере один поставщик, деталь или изделие.

Вариант 6.

1. Изменить цвет красных деталей с весом менее 15 фунтов на желтый.

2. Построить таблицу с номерами изделий и городов, где они изготавливаются, такие, что второй буквой названия города является "О".

Вариант 7.

1. Увеличить на 10 рейтинг тех поставщиков, объем поставки которых выше среднего.

2. Построить таблицу с упорядоченным списком номеров и фамилиями поставщиков, поставляющих детали для изделия с номером J1.



Контрольные вопросы



  • Что такое коррелированный запрос? Чем отличается коррелированный запрос от некоррелированного?


  • Какие существуют ограничения на формирование коррелированного запроса?


  • Каким образом сохранить результаты запроса в таблице?


  • Какими средствами SQL реализуются следующие операции реляционной алгебры: ограничение, декартово произведение, выбор, пересечение, объединение, разность, соединение?


  • Что такое внешнее соединение?


  • Как реализован в SQL квантор существования?


  • Как реализован в SQL квантор всеобщности?


  • В каких случаях вместо фразы IN можно использовать операцию сравнения?


  • Какие существуют средства группирования в SQL? Как они используются?



  • Содержание раздела