Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие БД_практикум Access.doc
Скачиваний:
37
Добавлен:
16.03.2015
Размер:
7.34 Mб
Скачать

2.2 Запросы

Запросы предназначены для отбора данных по заданным критериям. Запрос извлекает из БД информацию отвечающую на конкретный вопрос, например, «Какие товары поступили до указанного срока?». С помощью запросов можно просматривать, анализировать и изменять данные из несколь­ких таблиц. Результаты отбора используются в качестве источника данных для форм и отчетов. Запросы позволяют вычислять итоговые значения, выполнять вычисления над группами записей и выводить результаты в режиме Таблицы. Задаваемые в запросе Условия отбора по значениям конкретных полей называются также критериями отбора. MS Access позволяет:

  • сохранить запрос (заданные условия отбора);

  • сохранить записи, полученные в результате выполнения отбора в виде новой таблицы;

  • использовать в запросе формулы и выражения на основе значений полей таблицы.

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

Существует несколько различных типов запросов:

  • Запрос на выборку – простой запрос. При его выполнении данные, удовлетворяющие критериям отбора, выбираются из одной или нескольких таблиц и выводятся в определенном порядке. Простой запрос создаётся с помощью Мастера запросов. При выборе пункта Повторяющиеся записи будет создан запрос на поиск повторяющихся записей в исходной таблице. При выборе пункта Записи без подчиненных создается запрос на поиск записей, которым не соответствует ни одна запись в подчиненной таблице. Такой запрос используется для многотабличных БД.

Основные компоненты запроса:

  • В строке Поле указаны имена используемых в запросе полей. При про­смотре запроса в отображаются только те поля, которые помечены флажком в строке Вывод на экран. Кроме того, можно добавить поле, в котором необходимо произвести расчёт, как показано на рисунке 12.

  • В строке Условие отбора по конкретному полю можно ввести критерий поиска.

  • В верхней половине окна запроса показана таблица Сотрудники. Access использует эту таблицу для выбора из неё записей, удовлетворяющих условиям отбора.

При запуске запроса Access представляет результат запроса в режиме Таблицы. Данные в этом режиме отображаются в виде строк и столбцов. Результат запроса, показанный на рисунке 13, включает в себя сведения по персоналу, которые были отмечены флажками в бланке запроса на рисунке 12 с увеличением окладов на 30%.

Рисунок 12 – Запрос на выборку с добавлением вычисляемого поля

Рисунок 13 – Результат запроса в режиме таблицы

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

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

  • на физическом носителе информации (обычно это жесткий диск) требуется меньший объем;

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

  • Перекрестный запрос позволяет выполнять статистические подсчеты (суммы, средние значения, количество записей) по данным одного поля таблицы. Результаты группируются по двум наборам данных, один из которых распо­ложен в левом столбце таблицы, а второй – в верхней строке. Например, надо узнать средний стаж работы ассистентов, доцентов и профессоров на разных кафедрах (на основе таблицы Преподаватели). Перекрестный запрос позволит решить эту задачу, создав таблицу, в которой заголовками строк будут служить должности, заголовками столбцов — названия кафедр, а в ячейках будут рассчитаны средние значения стажа преподавателей.

  • Запрос на изменение – это запрос, который за одну операцию вносит изменения в не­сколько записей. Примеры запросов на изменение: на удаление, обновление и добавление записей, а также на создание таблицы. Запрос на удаление удаляет группу записей, удовлетворяющих заданным условиям, из одной или нескольких таблиц. С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее. Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких таблиц. Например, на 10 процентов увеличилась заработная плата ассистентов. Запрос на обновление позволит быстро внести эти изменения в таблицу Преподаватели. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, появилось несколько новых преподавателей, а также база данных, содержащая сведения о них. Чтобы не вводить все данные вручную, их можно добавить в таблицу Преподаватели. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Например, на основе таблицы Преподаватели можно соз­дать новую таблицу, содержащую данные только о профессорах.

  • Запрос с параметрами позволяет вводить информацию, используемую в качестве критериев отбора. Например, вместо создания отдельных запросов на выборку данных о конкретных поставщиках, можно в запрос ввести параметр – наименование поставщика. При выполнении запроса выводится окно с приглашением ввести данные.

  • Запросы SQL (запросы на выборку, на объединение, запросы к серверу, управляющие запросы, подчиненные запросы) создаются при помощи инструкций SQL. Этот тип запро­сов используется опытными пользователями, имеющими навыки программирования и общения с серверами БД.