Запрос по примеру - Query by Example
Запрос по примеру (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:
..... Имя: Боб..Адрес: ..... Город: .... Штат: Техас .. Почтовый индекс:
Результат SQL:
ВЫБРАТЬ * ИЗ Контакты КУДА Имя='Боб' И Состояние="TX";
Обратите внимание, что пустые элементы не генерируются SQL термины. Поскольку поле «Адрес» пустое, для него не создается никакого предложения. C:
..... Имя: .. Адрес: ..... Город: Sampleton .... Состояние: .. Почтовый индекс: 12345
Результат SQL:
ВЫБРАТЬ * ИЗ Контакты КУДА Город=«Сэмплтон» И Почтовый индекс='12345';
В более продвинутых версиях QBE есть другие параметры оператора сравнения, часто через раскрывающееся меню, такие как «Содержит», «Не содержит», «Начинается с», «Больше чем» и так далее.
Другой подход к сравнению текстов - разрешить один или несколько подстановочный знак символы. Например, если звездочка обозначена как подстановочный знак в определенной системе, то поиск фамилий с использованием "Роб*"вернет (сопоставит) фамилии, такие как" Роб "," Роберт "," Робертсон "," Роберто "и т. д.
Смотрите также
- CRUD
- Microsoft Query на примере
- GraphQL QBE для интерфейсов JSON.
- QBIC
Рекомендации
- ^ Чжу, Минчжу; У, И-Фан Брук (24.02.2014). Поиск по нескольким примерам. ACM. С. 667–672. Дои:10.1145/2556195.2556206. ISBN 9781450323512.
- ^ "QBE", db4o, Библиотека Java для разработчиков, IBM, 27 марта 2007 г.
Источники
- Злооф, Моше М. (май 1975 г.), «Запрос на примере», NCC (производство), 44, Анахайм, Калифорния: AFIPS.
- Рамакришнан, Рагху; Герке, Йоханнес, «6. QBE» (PDF), Системы управления базами данных (3-е изд.), Висконсин.
- Дата, Кристофер «Крис» Дж. (2004), «8. Реляционное исчисление», Введение в системы баз данных, Аддисон-Уэсли Пирсон, стр. 242–7, ISBN 978-0-321-18956-1.
- Определения Oracle, Техническая цель.
- Зайане, "5", Заметки CC 354, Канада: SFI.
внешняя ссылка
- Пример запроса для PostgreSQL, ПГ литейный завод.
- «Запрос на примере на Java с использованием Hibernate», Jboss.
- «Опыт OptiqueVQS: система визуальных запросов на основе нескольких парадигм и онтологий для конечных пользователей», Optique (PDF).