Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал для подготовки (теория) Базы данных.doc
Скачиваний:
3
Добавлен:
20.07.2019
Размер:
163.84 Кб
Скачать

Создание запросов в программной среде Microsoft Access

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

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

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

Сохраненный запрос можно открывать, что означает его выполнение, можно корректировать в режиме "Конструктор".

Добавление таблиц в запросе

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

Удаление таблицы из запроса

Существует несколько способов удаления таблицы из запроса:

Выбрать имя удаляемой таблицы в списке и выбрать в меню Запрос команду Удалить таблицу;

Двойным щелчком мыши выделить нужную таблицу в соответствующей зоне экрана и нажать клавишу Del.

Включение полей в запрос

Существует несколько способов переноса поля в бланк запроса:

  • Перетаскивание с помощью мыши

  • Двойной щелчок мыши по имени соответствующего поля в списке полей

  • Выбор поля в раскрывающемся списке полей, который появляется в строке Поле бланка запроса.

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

Поля, выводимые в ответ

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

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

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

Управление выводом повторяющихся строк

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

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

Различают несколько типов запросов:

  • Запрос на выборку (Select)

  • Перекрестный запрос (Crosstab)

  • Создание таблицы (Make-table)

  • Запрос на обновление (Update)

  • Добавление (Append)

  • Удаление (Delete)

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

Простые запросы

При создании простого запроса условие отбора записывается в соответствующий столбец бланка запроса. Например, если требуется отобрать информацию о клиенте, то в столбце Фамилия в строке "Условие отбора" следует записать фамилию данного сотрудника.

В большинстве СУБД, в процессе создания запроса, при вводе в выражение значений используются ограничители. В Access при задании запроса ограничители добавляются автоматически: прямые кавычки ("") вокруг строковых значений; символы (#) вокруг дат.

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

При задании Условия отбора можно использовать операторы сравнения: IN BETWEEN, LIKE, <=,>=.

IN - проверяет на равенство любому значению из списка значений в скобках

BETWEEN - проверяет нахождение значения поля между двумя граничными значениями, разделенными оператором AND

LIKE - проверяет соответствие текстового поля или поля MEMO заданному шаблону символов ? – один произвольный символ # - одна произвольная цифра * - произвольное число символов.

Запросы с логическими операторами

Если в условиях отбора используется несколько полей, то они могут соединяться оператором "И" или "ИЛИ". В одном запросе могут использоваться более двух аргументов поиска, причем одна часть из них может связываться оператором "И" условия отбора расположены на одной строке, а другая – оператором "ИЛИ" условия отбора расположены на разных строках. Ответ зависит от взаимного расположения аргументов поиска относительного друг друга.

Просмотр ответа

Для просмотра ответа следует щелкнуть по кнопке Запуск ("!") на панели инструментов, либо выбрать соответствующую возможность из меню Запрос/Запуск. Чтобы вернуться к корректировке запроса, следует выбрать режим Конструктор.

Создание запросов в программной среде Microsoft Access

Запросы на выборку с помощью статистических функций

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

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

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

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

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