Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты по информатике.doc
Скачиваний:
38
Добавлен:
21.04.2019
Размер:
4.04 Mб
Скачать

34. Субд access. Запросы к бд и их назначение. Виды запросов на выборку и на изменение.

Запросы в Access предназначены для отбора данных, удовлетворяющих заданным критериям. Данные, полученные в результате выполнения запроса, называются динамическим набором данных. Динамический набор данных является временным (или виртуальным) набором записей и не хранится в базе данных. При закрытии запроса динамический набор данных этого запроса прекращает свое существование. В самом же запросе хранится структура запроса, в которой определены: таблицы, список полей, тип запроса, порядок сортировки, условия отбора записей и т.д.

Access позволяет создавать запросы двух типов: QBE – запросы и SQL – запросы.

QBE – запросы (Query By Example – запрос по образцу) строится с помощью конструктора в окне конструктора запросов.

SQL – запросы – запросы, представляющие собой последовательность операторов и функций языка SQL (Structured Query Language –структурированный язык запросов).

QBE – запросы в Access можно преобразовать в SQL – запрос.

Все запросы можно разделить на две группы: запросы на выборку и запросы – действия.

Access позволяет создать запрос двумя способами: с помощью конструктора или с помощью мастеров.

Для создания запросов имеются следующие мастера:

  • Мастер создания простого запроса.

  • Мастер создания перекрестного запроса.

  • Мастер создания запросов на поиск повторяющихся записей.

  • Мастер запросов на поиск записей без подчиненных записей.

Окно конструктора запроса (рис. 4.1) состоит из двух частей: схемы данных и бланка запроса.

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

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

Рис. 4.1. Вид запроса на выборку в режиме конструктора

Запросы на выборку

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

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

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

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

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

  • запрос с вычисляемым полем;

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

Бланк простого запроса содержит шесть строк:

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

Разработка простого запроса выполняется в несколько этапов:

  • выбор таблицы;

  • выбор полей (добавление полей в запрос);

  • установление критериев отбора;

  • задание порядка расположения записей (сортировка).

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

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

Рис. 4.2. Вид перекрестного запроса в режиме таблицы

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

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

  • выполнить команду ЗАПРОС/Перекрестный;

  • в строке "Перекрестная таблица" указать, какое поле используется в качестве заголовка строк, какое – в качестве заголовков столбцов и какое - для выполнения вычислений в соответствии с выбранной групповой операцией;

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

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

Рис. 4.3.. Вид диалогового окна для ввода параметра.

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

Чтобы создать запрос с параметром, необходимо в строку "Условия отбора" для заданного поля ввести текст приглашения для ввода данного, заключив его в прямоугольные скобки (рис.4.4). Можно задать параметры для нескольких полей или для одного поля определить несколько параметров для отбора, используя запись условия в несколько строк совместно с логической операцией «ИЛИ».

Если в запрос вводится несколько параметров, то порядок их ввода через диалоговое окно определяется порядком расположения полей с параметром в бланке запроса.

Рис. 4.4 Вид запроса с параметром в режиме конструктора

Запрос с итогами позволяют производить выборку данных одновременно с их группировкой и вычислением групповых итогов с использованием различных статистических функций. В Access предусмотрено 9 статистических функций:

Sum - сумма значений некоторого поля для группы;

Avg - среднее значение некоторого поля для группы;

Max, Min - максимальное или минимальное значение поля для группы;

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

Результат запроса с использованием групповых операций содержит по одной записи (строке) для каждой группы, исходные строки групп отсутствуют.

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

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

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

Наряду с выводом результатов вычислений на экран допускается использование вычисляемых полей:

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

  • для обновления данных в запросе на обновление.

Вычисляемые поля позволяют:

  • рассчитывать числовые значения и даты.

  • комбинировать значения в текстовых полях.

  • создавать подчиненные запросы.

  • рассчитывать значения итоговых полей с помощью групповых функций.