Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БД / Базы данных / Лабораторные работы / Лабораторная №12(Запросы_действия)

.doc
Скачиваний:
65
Добавлен:
30.05.2015
Размер:
351 Кб
Скачать

Лабораторная работа № 11.

Тема: Запросы в Access(Запросы действия)

При работе с данными часто бывает необходимо автоматизация. Например, в большой базе данных (10 000 записей) необходимо заменить название некоторой улицы, являющейся частью адреса (она была переименована). Вручную, сделать это на 100% корректно практически невозможно. Для автоматизации решения таких проблем подходящим средством является создание специальной формы запросов, в результате выполнения которых СУБД определенным образом модифицирует исходные данные, хранящиеся в базе.

Такие запросы называются запросы-действие, и с их помощью можно выполнить следующие задачи:

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

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

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

- создать новую таблицу на основе исходных таблиц или запросов.

Запрос-действие является весьма удобным, полезным и чрезвычайно необходимым рабочим инструментом любого человека, который тем или иным образом сталкивается с СУБД.

Создание, и тем более выполнение, любого запроса-действия в СУБД Microsoft Access всегда состоит из двух этапов:

    • Сначала нужно создать запрос-выборку для того, чтобы проверить правильно ли отбираются записи, правильно ли вы сформулировали запрос;

    • Затем превратить его в запрос-действие и выполнить еще раз – отменить действие будет не возможно!

Смысл в этом следующий: просмотрев результаты выборки, пользователь (разработчик) может даже чисто визуально убедиться в том, что все пройдет "как задумано" и что потом не придется расстраиваться после неправильно заданного действия. Так как запрос-выборка не модифицирует данные, то в случае ошибки вам понадобится лишь заново переделать сам запрос.

Запросы на удаление.

Итак, сначала делаем запрос-выборку (например, мы решили не работать с магазинами сети Копеечка) и, просмотрев итог выборки в режиме таблицы и убедившись, что запрос работает правильно (выбирает именно те записи, которые мы собираемся удалить), можно превратить запрос-выборку в запрос на удаление.

После этого нажимаем ! на панели инструментов и готово!

Задание.

  1. Сделайте копию таблицы Продукты – Продукты_копия (копирование выполняется стандартным в Windows способом – Выделить -> Копировать - > Вставить, задав имя).

  2. Удалите из новой таблицы продукты с калорийностью > 500.

  3. Удалите из этой же таблицы продукты, в названиях которых есть Десерт или Смесь. Вспомнить, как нужно употребить Like.

Like “*Десерт*” or Like “*Смесь*”

Запросы на обновление.

Если вы хотите выполнить запрос на обновление данных, то эта процедура выполняется так - запрос открываем в режим конструктора и на панели инструментов выбираете инструмент для установления ТИПА ЗАПРОСА, в раскрывающемся списке выбрать ОБНОВЛЕНИЕ.

В нижней части бланка запроса можно увидеть новую строку – эта строка называется "Обновление".

Все, что в ней записано, будет занесено в указанные поля вместо того, что в этих полях хранилось до выполнения запроса-обновления!

Задание.

  1. В таблице Улицы есть несколько улиц, для которых не задан тип. Найдите эти улицы и задайте тип “улица”. Вспомните, что пустые значения можно найти используя выражение IS NULL.

  2. В таблице ПродуктыЗаказа для продуктов, которых заказано >=25, обновите поле Скидка и сделайте ее 1%(введите значение - 0,01).

Запросы на добавление.

1. На примере рассмотрим, как в новую таблицу МагазиныСоветскогоРайона с структурой такой же как и Магазины, добавить информацию о магазинах Советского района. Для этого, создадим пустую таблицу МагазиныСоветскогоРайона. Скопируйте таблицу Магазины и вставьте с параметром “Только структура”

Далее,

  • Начните создавать запрос в режиме конструктора и укажите таблицу Магазины в качестве основы для создания запроса;

  • Измените тип запроса на ЗАПРОС НА ДОБАВЛЕНИЕ

  • В открывшемся окне укажите, куда будете добавлять записи:

В нижней части бланка конструктора запросов сопоставьте имена полей-источников информации и имена полей-получателей информации. В строке Условия отбора задайте “Советский район” для того, чтобы из основной таблицы были отобраны записи с магазинами только Советского района. После этого выполните запрос и посмотрите на содержимое таблицы МагазиныСоветскогоРайона. Выделите в отдельную таблицу магазины других районов города.

2. Создайте в режиме конструктора таблицу ДиректораМагазинов, содержащую два поля

1. НомерДиректора – счетчик, ключевое

2. Фамилия – текстовый, 50 символов

В эту таблицу добавьте фамилии директоров магазинов из таблицы Магазины.

Запросы на создание новой таблицы.

С помощью этого вида запроса вы можете выбрать нужные данные из уже существующих таблиц с помощью обычного запроса на выборку, а затем поместить их в новую таблицу, структура которой определяется структурой записей результирующего множества запроса. Таким образом, процесс создания таблицы с помощью запроса состоит из трех шагов:

  1. Создать запрос на выборку.

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

  3. Выполнить запрос, тем самым, поместив отобранные записи в новую таблицу.

Задание. Создайте новую таблицу, которая содержала бы следующую информацию

Номер заказа и Общую цену заказа.

Указания. Найдите соответствующий запрос (по таблице ПродуктыЗаказа).и переделайте его в запрос на создание новой таблицы.

Затем этот запрос преобразовать в запрос на группирование, для поля КодЗаказа сделайте Группировку, а для поля Общая цена – суммирование. Далее запрос преобразуйте в запрос на создание новой таблицы ОплатаПоЗаказам и выполните запрос. Перейдите на вкладку Таблицы и посмотрите новую таблицу.