Запрос в примере ( QBE ) представляет собой базу данных языка запросов для реляционных баз данных . Он был разработан Моше М. Злоофом в IBM Research в середине 1970-х годов параллельно с разработкой SQL . Это первый графический язык запросов, использующий визуальные таблицы, в которые пользователь может вводить команды, примеры элементов и условий. Многие графические интерфейсы для баз данных сегодня используют идеи QBE. Первоначально ограниченный только целью получения данных , QBE позже был расширен, чтобы разрешить другие операции, такие как вставки, удаления и обновления, а также создание временных таблиц.
Мотивация QBE заключается в том, что синтаксический анализатор может преобразовывать действия пользователя в операторы, выраженные на языке управления базой данных, таком как SQL . За кулисами на самом деле выполняется именно этот оператор. Подходящий комплексный интерфейс может минимизировать нагрузку на пользователя по запоминанию более тонких деталей SQL, а конечным пользователям (и даже программистам) проще и продуктивнее выбирать таблицы и столбцы, выбирая их, а не вводя их имена.
В контексте поиска информации QBE имеет несколько иное значение. Пользователь может представить документ или несколько документов и запросить «похожие» документы, которые нужно извлечь из базы данных документов [см. Поиск по множеству примеров [1] ]. Поиск сходства основан на сравнении векторов документов (см. Модель векторного пространства ).
QBE - это основополагающая работа в области разработки для конечных пользователей , которая часто упоминается в исследовательских работах как ранний пример этой темы.
В настоящее время QBE поддерживается в нескольких интерфейсах реляционных баз данных, особенно в Microsoft Access, который реализует «Визуальный запрос по примеру», а также в Microsoft SQL Server Enterprise Manager. Он также реализован в нескольких объектно-ориентированных базах данных (например, в db4o [2] ).
QBE основан на логическом формализме, называемом запросом таблицы , хотя QBE добавляет к нему некоторые расширения, подобно тому, как SQL основан на реляционной алгебре .
Пример
Здесь приведен пример использования базы данных « Поставщики и детали», чтобы проиллюстрировать, как работает QBE.
S | S # | SNAME | ВЛАДЕЛЕЦ | SCITY |
---|---|---|---|---|
П. SX | J. DOE | РИМ |
Как общая техника
Этот термин также относится к общей технике, на которую повлияла работа Злуфа, когда для «фильтрации» результатов используются только элементы со значениями поиска. Он позволяет пользователю программного обеспечения выполнять запросы, не зная языка запросов (например, SQL ). Программное обеспечение может автоматически генерировать запросы для пользователя (обычно за кулисами). Вот некоторые примеры:
Пример формы B :
..... Имя: Боб..Адрес:.....Город:.... Штат: TX..Индекс:
Результирующий SQL :
ВЫБЕРИТЕ * ИЗ контактов, ГДЕ Имя = 'Боб' И Состояние = 'TX' ;
Обратите внимание, что пустые элементы не генерируют термины SQL . Поскольку поле «Адрес» пустое, для него не создается никаких предложений. Для примера формы C :
.....Имя: ..Адрес:..... Город: Sampleton....Состояние: ..Почтовый индекс: 12345
Результирующий SQL :
ВЫБЕРИТЕ * ИЗ контактов ГДЕ Город = 'Sampleton' И Почтовый индекс = '12345' ;
В более продвинутых версиях QBE есть другие параметры оператора сравнения, часто через раскрывающееся меню, такие как «Содержит», «Не содержит», «Начинается с», «Больше, чем» и т. Д.
Другой подход к сравнению текстов - разрешить использование одного или нескольких подстановочных знаков. Например, если звездочка обозначена как подстановочный знак в определенной системе, то поиск фамилий с использованием «Роб * » вернет (сопоставит) фамилии, такие как «Роб», «Роберт», «Робертсон», « Роберто »и др.
Смотрите также
- CRUD
- Microsoft Query на примере
- GraphQL QBE для интерфейсов JSON.
- QBIC
Рекомендации
Источники
- Злооф, Моше М. (май 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).