3.4 Запросы к базе данных

Основы разработки запросов

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

В Microsoft Access имеется удобное для пользователя графическое средство формирования запроса по образцу — QBE (Query By Example), с помощью которого легко может быть построен сложный запрос. Запрос QBE включает подсхему данных с используемыми таблицами и бланк запроса. При конструировании запроса достаточно, работая мышью, выделить и перетащить необходимые поля из таблиц, представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей.

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

Средствами запроса можно:

• выбрать записи, удовлетворяющие условиям отбора;

• включить в результирующую таблицу запроса нужные поля;

• произвести вычисления в каждой из полученных записей;

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

• произвести обновление полей в выбранном подмножестве записей;

• создать новую таблицу базы данных, используя данные из существующих таблиц;

• удалить выбранное подмножество записей из таблицы базы данных;

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

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

• Запрос на выборку — выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса.

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

• Запросы на обновление, добавление, удаление — это запросы-действия, в результате выполнения которых изменяются данные в таблицах.

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

Основы конструирования запроса

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

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

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

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

Разработка запроса производится в режиме Конструктора запросов.

Окно запроса

Для создания запроса в окне базы данных надо открыть вкладку Запрос и нажать кнопку Создать. В открывшемся окне Новый запрос выбрать Конструктор.

В окне Добавление таблицы выбрать используемые в запросе таблицы и нажать кнопку Добавить. Затем кнопкой Закрыть выйти из окна Добавление таблицы.

В результате появится окно Конструктора запросов — <имя запроса>: запрос на выборку.

Окно Конструктора запросов разделено на две панели:

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

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

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

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

Условия отбора записей

Условия отбора записей могут задаваться для одного или нескольких полей в соответствующей строке бланка запроса. Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться некоторые заданные значения и идентификаторы (ссылки). Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей, таблиц, запросов, форм, отчетов и т. д. Они должны заключаться в квадратные скобки. Если необходимо указать ссылку па поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например: [Имя таблицы]|[Имя поля].

Вычисляемые поля

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

Выражение вводится в бланк запроса в пустую ячейку строки Поле. В этой ячейке после нажатия клавиши <Еntег> или перевода курсора в другую ячейку формируется имя поля Выражением, где N — целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. Например, Выражение1: [Цена]*[Количество], где Цена и Количество — имена полей.

Имя вычисляемого поля «Выражение1» становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить. Пользователь имеет возможность переименовать вычисляемое поле. Для этого достаточно в бланке запроса вместо Выражение N ввести повое имя.

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

Конкретное значение поля в условии отбора может вводиться непосредственно в бланк запроса или задаваться пользователем при выполнении запроса в диалоговом окне. Чтобы выводилось диалоговое окно для ввода конкретного значения поля в условия отбора, нужно определить параметр запроса. Имя параметра запроса может вводиться непосредственно в условия отбора в квадратных скобках. При выполнении запроса это имя появится в диалоговом окне Введите значение параметра. Если в запрос вводится несколько параметров, то порядок их ввода через диалоговые окна определяется порядком расположения полей с параметрами в бланке запроса.

Мастера создания запросов

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

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

С помощью Мастера можно создать:

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

• запрос для поиска повторяющихся записей;

• запрос для поиска записей, не имеющих подчиненных записей;

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

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


Информация о работе «Режим работы с базами данных»
Раздел: Информатика, программирование
Количество знаков с пробелами: 75192
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
10303
2
0

... и видеозаписи. Поле для таких объектов называется полем объекта ОLE. СУБД Аccess 9х Системы управления базами данных (СУБД) – это программные средства, с помощью которых можно создавать базы данных, наполнять их и работать с ними. Исходное окно Access 9x. Шесть вкладок этого окна представляют шесть видов объектов, с которыми работает программа. Таблицы – основные объекты базы данных. Запросы – это ...

Скачать
56800
0
0

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

Скачать
36384
2
3

... в Веневском районе, работающего с использованием СУБД FoxPro для создания программных продуктов, в качестве языка программирования для решения задачи «Формирование баз данных по учёту планов и остатков сырья в цехе» был выбран язык программирования FoxPro. Описание программы Наименование программы «Ввод планов и остатков сырья в цехе» Индетификатор: SREDC Язык программирования: Fox ...

Скачать
26783
6
1

... и производится очень важная операция для исключения избыточности данных - нормализация таблиц. Каждый из различных типов связей должен быть смоделирован в базе данных. Существует несколько типов связей: ·                   ·                 связь “один-к-одному” ·                   ·                 связь “один-ко-многим” ·                   ·                 связь “многие-ко-многим”. ...

0 комментариев


Наверх