Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методические указания по выполнению лабораторной работы / СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ЗАПРОСОВ.doc
Скачиваний:
94
Добавлен:
17.02.2014
Размер:
179.2 Кб
Скачать

Создание и использование запросов

Цели работы: познакомиться с основными видами запросов; научиться создавать запросы на выборку различными спо­собами; научиться создавать запросы: на обновление, на добавление, на удаление, на создание таблицы; научиться создавать перекрестные запросы.

  1. ОБЩИЕ ПОНЯТИЯ

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

В реляционных СУБД запросы к базе данных выражаются на языке SQL. СУБД Access фирмы Microsoft, имеющая развитый интерфейс по созданию и работе с базами данных для конечных пользователей, оснащена встроенным языком 4QL.

Формирование запросов в СУБД может осуществляться в специальном редакторе (командный режим) или через наглядно-диалоговые средства (конструкторы) и пошаговые мастера формирования запросов. Сформированный запрос в виде SQL-инструкции сохраняется в файле базы данных и впоследствии специальной командой СУБД может запускаться (открываться) на исполнение. Классификация запросов приведена на рис. 1.

1. Запросы на выборку относятся к наиболее часто применяемым видам запросов. Результатом его исполнения является набор данных, который представляет собой временную таблицу данных со структурой (поля, их типы и параметры), определяемой параметрами запроса и параметрами полей таблиц, из которых выбираются данные. В отличие от режимов поиска и фильтрации запросами на выборку данные выбираются из «не открытых» таблиц базы данных. Результаты запросов на выборку помещаются в специальную временную таблицу, размещаемую на период исполнения («открытия») запроса в оперативную память. Наборы данных, формируемые запросами на выборку, являются динамическими. Динамичность означает, что с результатом исполнения запроса можно производить все те же операции, что и с данными в режиме открытой таблицы. Иначе говоря, изменения данных, сформированных по запросу, фиксируются в исходных таблицах, из которых выбираются данные, и наоборот.

Запросы на выборку классифицируются по двум критериям – по формированию условий выборки и по схеме отбора данных.

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

По схеме отбора данных запросы на выборку подразделяются на три группы:

- из одной таблицы;

- в один набор из нескольких таблиц;

- запросы на объединение данных.

Рис. 1. Классификация запросов

1.1. Запросы на выборку данных из одной таблицы

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

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

    1. Запросы на выборку данных из нескольких таблиц

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

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

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

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

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

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

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