Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_access.docx
Скачиваний:
5
Добавлен:
24.04.2019
Размер:
146.62 Кб
Скачать

15. Назначение и виды запросов Microsoft Access

Запрос – объект СУБД MS Access, предназначенный для анализа данных из таблиц БД.

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

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

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

3) группирование записей с одинаковыми значениями в полях с применением групповых функций

4) обновление данных в исходных таблицах, добавление и удаление записей;

5) создание новых таблиц БД на основе данных из существующих таблиц.

Запрос строится на основе

- исходных таблиц БД,

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

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

Результат обработки исходной информации по запросу Microsoft Access представляет в виде собственной таблицы, в которую включены выбранные из БД сведения, удовлетворяющие критериям запроса. Подмножество данных, отображаемых запросом, называется динамическим набором данных (DYNASET, поскольку каждый раз отображает свежие данные из таблиц). Эта таблица существует до закрытия запроса.

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

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

Классификация запросов Microsoft Access:

1. По методу создания (2)

1) Query Be Example (QBE-запрос) – запрос по образцу, строится при помощи графич. средства Microsoft Access, включающего подсхему данных с используемыми таблицами и бланк запроса. Для формирования запроса достаточно переместить при помощи мыши необходимые поля из таблиц и ввести условия отбора данных (условие подбора состоит из примеров данных, которые и составят результат запроса, также называется запросом типа выборки)

2) Structured Query Language (SQL-запрос) – язык структурированных запросов (для их формированияпрограммисты применяют специальные инструкции и функции Microsoft Access).

QBE-запрос может быть трансформирован в SQL – ВИД/РЕЖИМ/SQL. А вносимые в SQL-инструкции изменения автоматически отображаются в спецификации QBE-запроса.

2. По функциональному признаку запросы можно разделить на:

1) запросы выбора (результат существует в виде таблицы до закрытия запроса)

a) простые

b) с вычислениями

c) с параметрами (условия задаются при выполнении запроса в Д/О)

d) перекрестные (компактное отображение данных с объединением однотипной информации, напр. Продавец – Покупатель, объем операций)

2) запросы действия (приводят к изменениям данных в исходных таблицах или созданию новых таблиц, сохраненных как объект таблица)

a) на создание таблицы

b) на обновление

c) на добавление

d) на удаление

16 – 17(2). Как правило, нет необходимости в отображении всей информации, которая хранится в той или иной таблице БД в предыдущей главе были рассмотрены возможности по обеспечению требуемого режима обработки данных, в частности фильтрация, сортировка, скрытие столбцов, применение подстановок, использование подтаблиц. Однако есть мощное средство обработки данных в одной или нескольких таблицах, которая позволяет отображать нужную информацию, соответствующую указанным требованиям. На пример: в Б.Д. Образование необходимо найти всех студентов, которые имеют отличные оценки, или отобразить фамилии всех студентов которые сдавали физику. Для этих целей в Access используются запросы. Существует несколько таких запросов: на выборку, на обновление, на добавление, на удаление, на перекрёстный и создание таблицы.

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

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

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

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

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

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

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

Сортировка – указывается направление сортировки для данного поля – по возрастанию или убыванию.

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

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

Например, необходимо отобразить только оценки «4» и «5», полученные студентами (без указаний фамилий), и дату сдачи. При создании такого запроса источником данных будет служить таблица Успеваемость. В запросе будут использоваться поля Оценка и Дата Сдачи, название которых необходимо выбрать в строке Поле. Название таблицы в поле Имя таблицы будет установлено автоматически. Для поля Дата Сдачи можно установить направление сортировки по возрастанию. Оба указанных поля необходимо выводить на экран, поэтому для каждого из них нужно установить флажок Вывод на экран. В строке Условие отбора для поля Оценка нужно указать следующее условие: 4 OR 5 или указать первое значение (4) в поле Условие отбора, а второе (5) – в поле Или.

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

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

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

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

После добавления всех таблиц в нижней части окна запуска можно перед полем Оценка вставить два столбца – для фамилий и названий предметов. При перетаскивания поля из таблицы, расположенной в макете, в строку Поле автоматически появляется новый столбец, в котором можно указать параметры данного поля. Для поля фамилия из таблицы Студенты следует указать направление сортировки по возрастанию, а для поля Название из таблицы Предметы – условие «Физика». При этом сортировку для поля Дата Сдачи можно отменить, выбрав в поле Сортировка значение (отсутствует).

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

Полученному многотабличному запросу можно дать название Оценки по Физике, воспользовавшись для этого командой Файл – Сохранить как.

Создание запроса с помощью мастера.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]