Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по Access.doc
Скачиваний:
0
Добавлен:
31.12.2019
Размер:
409.6 Кб
Скачать

4. Запросы данных

4.1. Типы запросов

Выделяют два типа запросов: QBE - запросы (QBE - Query By Example - запрос по образцу), которые пользователь формирует, определяя отдельные параметры в окне проектирования с использованием подсказок (образцов), и SQL - запросы (SQL - Structured Query Language - структурированный язык запросов), при создании которых пользователь применяет инструкции и функции, выстраивая некоторое описание.

QBE - запрос Access легко транслирует в соответствующий SQL - запрос. Обратная операция тоже не составляет труда. Для Access безразлично, с какими типами запросов работает пользователь.

В Access можно создавать следующие типы запросов:

  • запрос на выборку;

  • запрос с параметрами;

  • перекрестный запрос;

  • запрос на изменение (запрос на удаление, обновление и добавление записей на создание таблицы);

  • запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы)

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

Запрос - выборка используется для выбора из базы данных информации, которая интересует пользователя в данный момент. Результат обработки программой Access такого запроса представляет cобой таблицу (последовательность записей) и называется Dynaset (динамический, временный набор данных). В эту таблицу включены выбранные из основной таблицы блоки данных, которые удовлетворяют критериям запроса. Dynaset - динамический набор данных, т.е. при каждом выполнении запроса он строится вновь на основе "свежих" табличных данных. В большинстве случаев с этими наборами можно работать точно также как с таблицами: просматривать и выбирать информацию, печатать и даже обновлять записи, однако в отличие от реальной таблицы, этот набор данных физически не существует в базе данных. Access создает набор данных из данных таблиц и других запросов. Если изменяются данные в наборе данных, Access вносит соответствующие изменения в таблицы, на базе которых построен запрос.

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

* вычисляемые и итоговые поля;

* данные в перекрестном запросе;

* значения ключевых полей в таблице со стороны "один".

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

Запрос на изменение - это запрос, который за одну операцию вносит изменения в несколько записей. Существует четыре типа запросов на изменение; на удаление, обновление  и добавление записей, а также на создание таблицы.                                 

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

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

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

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

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