Лекции по информатике
  • Регистрация
1 1 1 1 1 1 1 1 1 1 Рейтинг 5.00 (1 Голос)

Лекция 5 Тема: Запросы

5.1. Понятие запроса.

5.2. Алгоритм создания запроса с помощью QBE в СУБД MS Access.

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

5.4. Параметрические запросы.

5.1. Понятие запроса

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

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

Все многообразие запросов можно проклассифицировать схемой приведенной на рис. 5.1.

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

-  запросы на выборку;

-  запросы на изменение;

-  управляющие запросы.

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

В современных СУБД для подготовки запросов чаще всего используются два основных языка описания запросов:

– QBE (Query By Example) – язык запросов по образцу;

– SQL (Structured Query Language) – структурированный язык запросов.

По возможностям манипулирования данными языки SQL и QBE практически одинаковы. Главное отличие между ними заключается в способе формирования запросов: визуальном (QBE) или программировании (SQL).

Между QBE и SQL имеется тесная связь: запросы созданные пользователем в QBE хранятся в формате SQL, т. е. SQL является внутренним стандартом для выполнения и хранения запросов.

лассификация запросов в реляционных СУБД

Рис. 5.1. Классификация запросов в реляционных СУБД

Первое описание QBE было предложено М. М. Злуффом в 1975-1977 гг.

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

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

В таблице 5.1 представлены основные операции, поддерживаемые QBE и результаты выполнения запросов

Таблица 5.1

Операция

Результат

Выборка данных

Ответная таблица (временная)

Вычисления над данными

Вставка новых записей

Обновленная исходная таблица

Удаление записей

Модификация (изменение) данных

Создание новой таблицы

Новая таблица в базе данных

В современных СУБД, например Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши.

5.2. Алгоритм создания запроса с помощью QBE в СУБД MS Access

При создании запроса с помощью QBE в СУБД MS Access необходимо выполнить следующие операции:

1.  В окне базы данных (рис.5.2, а) открыть контейнер Запросы.

2.  Щелкнуть по клавише Создать.

3.  В появившемся диалоговом окне Новый запрос (рис.5.2, б) выбрать режим Конструктор и щелкнуть по клавише ОК.

4.  В появившемся диалоговом окне Добавление таблицы (рис.5.3, б) выбрать источник данных.

5.  Определить связи между источниками данных (если они не были определены заранее в окне Схема данных).

(а) (б)

Рис.5.2. Окно базы данных (а), диалоговое окно Новый запрос (б)

(а) (б)

Рис.5.3. Бланк запроса QBE (а), диалоговое окно Добавление таблицы (б)

6.  Изменить в диалоговом окне Параметры объединения (рис.5.4, б) тип объединения между источниками данных, если необходимо.

(а) (б)

Рис.5.3. Бланк запроса QBE (а), диалоговое окно Параметры объединения (б)

7.  Определить необходимый набор полей (рис.5.4).

8.  Добавить вычисляемые поля (при необходимости).

9.  Задать условия отбора записей (при необходимости).

10. 


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

Рис.5.4. Сформированный бланк запроса QBE

11.  Указать параметры отображения результатов запроса: показ/скрытие полей, сортировка данных (при необходимости).

12.  Преобразовать тип запроса в другой тип (при необходимости).

13.  Отобразить результирующий набор записей или произвести модификацию данных (рис.5.5).

Рис.5.5. Результат выполнения запроса в режиме Таблицы

14.  Для дальнейшего использования (в качестве источника данных для других запросов, форм, отчетов и т. п.) сохранить в базе данных. Запрос в базе данных хранится в виде поименованной инструкции SQL (рис.5.6).

Рис.5.6. Запрос в режиме SQL

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

Условие отбора записей – это набор предопределенных или задаваемых пользователем правил.

Условия отбора записей могут задаваться для одного или нескольких полей в соответствующей строке бланка запроса (рис.5.4). Условием отбора является выражение, которое состоит из операторов сравнения (табл. 5.2) и операндов.

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

[Имя_поля]

[Имя_таблицы]![Имя_поля]

[Forms]![Имя_формы]![Имя_элемента_управления]

[Forms]![Имя_формы]![Имя_элемента_управления].[Свойство]

Таблица 5.2

Оператор

Описание

Меньше

<=

Меньше или равно

Больше

>=

Больше или равно

=

Равно

<> 

Не равно

IS NULL

Проверка на пустое значение

IS NOT NULL

Проверка на непустое значение

IN

Проверка на равенство любому значению из списка

IN("США"; "Канада"; "Мексика")

BETWEEN

Проверка, на принадлежность значения указанному диапазону (верхняя и нижняя граница разделяются логическим оператором AND)

BETWEEN 100 AND 300

LIKE

Проверка соответствия текстового или MEMO поля заданному шаблону символов

Таблица 5.3

Символы шаблона, используемые в операторе LIKE

Шаблон

Описание

?

Любой символ

LIKE "ст? л"

*

Любое (включая нулевое) количество символов

LIKE "*стол*"

#

Любая цифра от 0 до 9

LIKE "199#"

[<список>]

Отбор полей, содержащих один символ, находящийся в списке

LIKE "[0-9]", LIKE "[абк-м]"

[!<список>]

Отбор полей, не содержащих один символ, находящийся в списке

LIKE "[!0-9]" , LIKE "[!абк-м]"

С помощью логических операторов AND, OR и NOT можно задавать несколько условий для отбора данных по одному полю:

>=10 AND <=100

>3 And <5 Or >10 And <15

Текстовые константы в выражении должны быть заключены в двойные кавычки:

Like "М*" Or "США"

Константы типа дата/время выделяются символами #:

>= #01/03/2003# AND < #01/03/2003#

>= #12:00:00# AND < #14:25:00#

5.4. Параметрические запросы

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

[Номер заказа]

>=[Начальная дата] AND <=[Конечная дата]

Like [Первые буквы названия] & "*"

При выполнении запроса текст параметра будет отображен в диалоговом окне (рис. 5.7).

Рис.5.7. Окно ввода параметра

 

Запросы в БД - 5.0 out of 5 based on 1 vote

Добавить комментарий


Защитный код
Обновить

По темам:

История Украины

Культурология

Высшая математика

Информатика

Охотоведение

Статистика

География

Военная наука

Английский язык

Генетика

Разное

Технологиеские темы

Украинский язык

Филология

Философия

Химия

Экология

Социология

Физическое воспитание

Растениевосдство

Педагогика

История

Психология

Религиоведение

Плодоводство

Экономические темы

Бухгалтерские темы

Маркетинг

Иностранные языки

Ветеринарная медицина

Технические темы

Землеустройство

Медицинские темы

Творчество

Лесное и парковое хозяйство