Запрос по примеру - Query by Example

Пример запроса QBE с объединениями, разработанный в Borland Paradox (база данных)

Запрос в примере ( QBE ) представляет собой базу данных языка запросов для реляционных баз данных . Он был разработан Моше М. Злоофом из IBM Research в середине 1970-х годов параллельно с разработкой SQL . Это первый графический язык запросов, использующий визуальные таблицы, в которых пользователь вводит команды, примеры элементов и условий. Многие графические интерфейсы для баз данных сегодня используют идеи QBE. Первоначально ограниченный только целью получения данных , QBE позже был расширен, чтобы разрешить другие операции, такие как вставки, удаления и обновления, а также создание временных таблиц.

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

В контексте поиска информации QBE имеет несколько иное значение. Пользователь может отправить документ или несколько документов и запросить «похожие» документы, которые нужно извлечь из базы данных документов [см. Поиск по нескольким примерам]. Поиск сходства основан на сравнении векторов документов (см. Модель векторного пространства ).

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

В настоящее время QBE поддерживается в нескольких интерфейсах реляционных баз данных, особенно в Microsoft Access, который реализует «Визуальный запрос по примеру», а также в Microsoft SQL Server Enterprise Manager. Он также реализован в нескольких объектно-ориентированных базах данных (например, в db4o ).

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

пример

Здесь приведен пример использования базы данных « Поставщики и детали», чтобы проиллюстрировать, как работает QBE.

Простой пример QBE
S S # SNAME ВЛАДЕЛЕЦ SCITY
P. SX J. DOE РИМ

Как общая техника

Этот термин также относится к общей методике, на которую повлияла работа Злуфа, когда для «фильтрации» результатов используются только элементы со значениями поиска. Он предоставляет пользователю программного обеспечения возможность выполнять запросы без знания языка запросов (например, SQL ). Программное обеспечение может автоматически генерировать запросы для пользователя (обычно за кулисами). Вот некоторые примеры:

Пример формы B :

.....Name: Bob
..Address:
.....City:
....State: TX
..Zipcode:

Результирующий SQL :

SELECT * FROM Contacts WHERE Name='Bob' AND State='TX';

Обратите внимание, как пустые элементы не генерируют термины SQL . Поскольку «Адрес» пуст, для него не создается никаких предложений. Для примера формы C :

.....Name: 
..Address:
.....City: Sampleton
....State: 
..Zipcode: 12345

Результирующий SQL :

SELECT * FROM Contacts WHERE City='Sampleton' AND Zipcode='12345';

В более продвинутых версиях QBE есть другие параметры оператора сравнения, часто через раскрывающееся меню, такие как «Содержит», «Не содержит», «Начинается с», «Больше чем» и так далее.

Другой подход к сравнению текстов - разрешить использование одного или нескольких подстановочных знаков. Например, если звездочка обозначена как подстановочный знак в определенной системе, то поиск фамилий с использованием «Роб * » вернет (сопоставит) фамилии, такие как «Роб», «Роберт», «Робертсон», « Роберто »и др.

Смотрите также

Ссылки

  1. ^ Чжу, Минчжу; У, И-Фан Брук (24.02.2014). Поиск по множеству примеров . ACM. С. 667–672. DOI : 10.1145 / 2556195.2556206 . ISBN 9781450323512.
  2. ^ "QBE", db4o , Библиотека Java для разработчиков, IBM, 27 марта 2007 г.

Источники

  • Злооф, Моше М. (май 1975 г.), «Запрос на примере», NCC (рассмотрение), 44 , Анахайм , Калифорния: AFIPS.
  • Рамакришнан, Рагху ; Герке, Йоханнес , "6. QBE" (PDF) , Системы управления базами данных (3-е изд.), Wisc.
  • Дата, Кристофер «Крис» Дж. (2004), «8. Реляционное исчисление», Введение в системы баз данных , Addison-Wesley Pearson, стр. 242–7, ISBN 978-0-321-18956-1.
  • Определения Oracle , техническая цель.
  • Zaiane, "5" , банкноты CC 354 , Канада: SFI.

внешние ссылки

  • Пример запроса для PostgreSQL , Pg foundry.
  • «Пример запроса на Java с использованием Hibernate», Jboss.
  • "Опыт OptiqueVQS: система визуальных запросов на основе нескольких парадигм и онтологий для конечных пользователей", Optique (PDF).