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

Тема 4. Запросы. Создание запросов

Назначение запросов.

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

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

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

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

В Microsoft Access можно создать несколько типов запросов.

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

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

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

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

Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как СУБД Access.

Когда пользователь создает запрос в режиме конструктора запроса, Access автоматически создает эквивалентную инструкцию SQL. При необходимости, пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL.

Запросы на изменение.

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

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

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

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

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

Для создания запросов в СУБД Access имеется удобное графическое средство формирования запроса по образцу – QBE (Query By Example), с помощью которого легко можно построить сложный запрос. При конструировании запроса достаточно выделить и перетащить необходимые поля из таблиц в бланк запроса и ввести условия отбора записей.

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

Добавление или удаление таблиц, запросов и полей.

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

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

Расчет значений.

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

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

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

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

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

Вопросы для самоконтроля

  1. Для чего служат запросы?

  2. В чем состоит особенность запросов?

  3. Какие типы запросов можно создать в Microsoft Access?

  4. Для чего используются запросы на выборку?

  5. Что такое запрос с параметром и когда его удобно использовать?

  6. Для чего используются перекрестные запросы?

  7. Что такое запрос на изменение?

  8. Какие типы запросов на изменение можно создать в Microsoft Access?

  9. Что такое запрос на создание таблицы и когда его удобно использовать?