Язык запросов по образцу субд

Язык запросов по образцу (QBE) в СУБД — это магия для новичков! Заполняйте шаблон и получайте нужные данные без сложного SQL. Узнайте, как это работает!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Что такое QBE

QBE (Query-By-Example) — язык запросов по образцу, разработанный в исследовательских лабораториях компании IBM в 1970-х годах. Это непроцедурный язык, основанный на исчислении предикатов на доменах, который позволяет пользователю формулировать запросы к базе данных, не изучая сложный синтаксис команд.

Главная идея QBE заключается в визуальном подходе: пользователь заполняет специальную запросную форму (шаблон таблицы), указывая в её ячейках образцы данных, которые он хочет получить. СУБД сама преобразует этот «образец» в формальный запрос.

История создания

Разработка языков запросов к базам данных велась в основном в отделениях фирмы IBM (языки ISBL, SQL, QBE) и университетах США (PIQUE, QUEL). QBE был создан как альтернатива текстовым языкам вроде SQL, чтобы сделать работу с базами данных доступной пользователям без программистской подготовки.

Принцип работы

При работе с QBE пользователь выполняет следующие действия:

  1. Выбирает таблицу (или несколько связанных таблиц) базы данных.
  2. Отмечает поля, которые должны попасть в результат запроса.
  3. В ячейках формы указывает условия отбора — конкретные значения, диапазоны, шаблоны.
  4. При необходимости задаёт сортировку и вычисляемые поля.

Например, чтобы найти всех сотрудников отдела продаж с окладом выше определённого значения, достаточно в столбце «Отдел» написать «Продажи», а в столбце «Оклад» — условие > 50000.

Основные возможности QBE

  • выборка данных по простым и сложным условиям;
  • использование логических операторов (И, ИЛИ, НЕ);
  • работа с несколькими связанными таблицами;
  • сортировка и группировка результатов;
  • вычисления (сумма, среднее, количество и т.д.);
  • обновление, добавление и удаление записей через форму-образец.

Сравнение QBE и SQL

Наиболее известным «конкурентом» QBE является SQL (Structured Query Language) — структурированный язык запросов. По возможностям манипулирования данными оба языка сопоставимы, однако различаются подходом:

  • SQL — текстовый язык, предложения которого приближены к естественному английскому языку; требует знания синтаксиса.
  • QBE, визуальный язык; запрос строится заполнением табличной формы, что проще для понимания неподготовленным пользователем.

Непроцедурные языки обычно проще понять, поэтому во многих современных СУБД оба подхода сосуществуют. Например, в Microsoft Access при подготовке запроса можно перейти из окна Конструктора запросов (формулировка запроса по образцу на языке QBE) в режим SQL — и увидеть автоматически сгенерированную текстовую команду.

Пример запроса

Допустим, есть таблица «Клиенты» с полями: Фамилия, Город, Телефон. Запрос «показать всех клиентов из Москвы» в форме QBE будет выглядеть так:

  • Фамилия: П. (показать), например, Иванов И. И. (), Петрова А. С. ()
  • Город: «Москва»
  • Телефон: П. — результат: +7 (495) —*

СУБД сформирует эквивалентный SQL-запрос вида: SELECT Фамилия, Телефон FROM Клиенты WHERE Город = «Москва»;

Преимущества и недостатки

Преимущества

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

Недостатки

  • ограниченная гибкость при построении очень сложных запросов;
  • зависимость от конкретной реализации в СУБД;
  • меньшая универсальность по сравнению с SQL.

Язык запросов по образцу QBE — важный этап в развитии технологий работы с базами данных. Он сделал СУБД доступными широкому кругу пользователей и до сих пор применяется в таких системах, как Microsoft Access, где конструктор запросов фактически является реализацией идей QBE. Понимание принципов «запроса по образцу» помогает легче освоить и другие языки, прежде всего SQL.