Добавил:
sofyvits@ya.ru на позитиве Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен инф и программ / информаматика-пособие.doc
Скачиваний:
344
Добавлен:
10.01.2016
Размер:
1.47 Mб
Скачать

Запросы

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

С помощью Ассеss могут быть созданы следующие типы запросов:

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

Запрос-изменениеизменяет или перемещает данные. К этому типу относятся:запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление.

Перекрестные запросыпредназначены для группирования данных и представ­ления их в компактном виде.

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

Запросы SQL (Structure Query Language – структурный язык запросов) – запросы, которые могут быть созданы только с помощью инструкцийSQLв режимеSQL:запрос – объединение, запрос к серверу и управляющий запрос.

Описание запроса можно выполнить с помощью бланка QBE (Query By Example  язык формулировки запросов по образцу) или инст­рукции языка SQL.

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

Возможны следующие варианты создания запроса:

  • вручную с помощью конструктора – Конструктор;

  • автоматическое создание простого запроса на выборку – Простой зап­рос;

  • автоматическое создание перекрестного запроса для компактного пред­ставления данных в виде сводной (перекрестной) таблицы – Перекрес­тный запрос;

  • автоматическое создание запроса на поиск записей с повторяющимися значениями полей – Повторяющиеся записи;

  • автоматическое создание запроса на поиск записей в одной таблице, ко­торые не имеют подчиненных записей в другой таблице – Записи без подчиненных.

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

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

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

Составление запроса в режиме Конструктора в общем случае включает в себя определение следующего:

  • таблиц и полей таблиц;

  • вида запроса (выборка, добавление, удаление, перекрестный запрос, SQL-запрос);

  • условий отбора записей;

  • параметров отображения результатов выполнения запроса (показ полей, сортировка значений).

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

Поисковые выражения задаются в строке Условие отбора бланка запроса.

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

MS Access преобразует таблицу QBE в выражения SQL (Structure Query Language – Структурный язык запросов). SQL является стандартным языком, используемым во многих системах управления базами данных, и поиск ведется на основе этого выражения. В MS Access можно непосредственно вводить запрос на языке SQL. На этом языке составляются более сложные вопросы. Чтобы составить запрос на языке SQL, нужно выполнить команду Запрос, Запрос SQL.

При создании запроса Access по умолчанию предоставляет заготовку запроса на выборку. Изменить вид запроса можно с помощью пункта Запрос основного меню системы, где возможные виды запро­сов перечислены как подпункты меню.

Выражения в запросах

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

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

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

Литерал – это точное значение, которое Аccess использует именно в том виде, как оно вводится. При записи литерала используются специальные символы – ограничители, которые указывают на тип данных литерала.

Если литерал – число, то он вводится без ограничителей. Например, 465,8.

Текстовый литерал должен иметь в качестве ограничителя " или ‘. Например, "Иванов" или 'Иванов'.

В литералах типа дата используется ограничитель #. Например, #12.11.1996#.

В случае литерала типа поле или элемента управления вводятся ограничители [ ]. Например, [Фамилия].

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

Выделяются следующие группы операторов:

  • арифметические: * умножение, + сложение, – вычитание, / деление, ^ возведение в степень;

  • соединение частей текста &, например, = [Фамилия] & " "&[Имя];

  • сравнения: < меньше, <= меньше или равно, > больше, >= больше или равно, = равно, <> не равно;

  • логические: And (И), Not: (Нет), Or (Или);

  • операторы SQL: like – для использования логики замены в выражениях, In  для определения, содержится ли элемент данных в списке значений, Between....And  для выбора значений из определенного интервала.

Константа это неизменяемая величина. К наиболее часто используемым константам относятся Null (соответствует полю, не содержащему значений или символов), Истина, Ложь.

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

Функция  это специальное имя, которое используется для выполнения какой-либо операции и может применяться в выражениях. В Ассеss встроено несколько десятков функций. Аргументы функции должны заключаться в (). Скобки могут быть опущены только при нулевом аргументе. Примерами функций, используе­мых при построении выражений в запросах, могут служить: Avg( )  среднее арифметическое значений, Count( )  количество записей, Sum( )  сумма всех записей и т. д.