Запрос по примеру
Запрос по примеру ( QBE ) — это данных язык запросов к реляционным базам . Он был разработан Моше М. Злуфом из IBM Research в середине 1970-х годов, параллельно с разработкой SQL . [1] Это первый язык графических запросов, использующий визуальные таблицы, в которые пользователь может вводить команды, примеры элементов и условий. Сегодня многие графические интерфейсы для баз данных используют идеи QBE. Первоначально ограниченный только целью получения данных , QBE позже был расширен, чтобы разрешить другие операции, такие как вставка, удаление и обновление, а также создание временных таблиц.
Смысл QBE заключается в том, что синтаксический анализатор может преобразовывать действия пользователя в операторы, выраженные на языке манипулирования базами данных, таком как SQL . За кулисами именно это утверждение фактически выполняется. Достаточно комплексный внешний интерфейс может свести к минимуму нагрузку на пользователя, связанную с запоминанием более тонких деталей SQL, а конечным пользователям (и даже программистам) проще и продуктивнее выбирать таблицы и столбцы, выбирая их, а не вводя их. имена.
В контексте поиска информации QBE имеет несколько иное значение. Пользователь может отправить документ или несколько документов и запросить получение «похожих» документов из базы данных документов [см. поиск по нескольким примерам. [2] ]. Поиск по сходству основан на сравнении векторов документов (см. Модель векторного пространства ).
QBE представляет собой плодотворную работу в области разработки для конечных пользователей , которая часто упоминается в исследовательских работах как ранний пример этой темы.
В настоящее время QBE поддерживается в нескольких интерфейсах реляционных баз данных, в частности в Microsoft Access , который реализует «визуальный запрос по примеру», а также в Microsoft SQL Server Enterprise Manager. Он также реализован в нескольких объектно-ориентированных базах данных (например, в db4o [3] ).
QBE основан на логическом формализме, называемом табличным запросом , хотя QBE добавляет к нему некоторые расширения, подобно тому, как SQL основан на реляционной алгебре .
Пример
[ редактировать ]пример использования базы данных поставщиков и запчастей, Здесь приведен чтобы проиллюстрировать, как работает QBE.
С | С# | ЩЕЛЧОК | ВЛАДЕЛЕЦ | ГОРОДА |
---|---|---|---|---|
P. SX | Дж. Доу | РИМ |
В качестве общей техники
[ редактировать ]Этот термин также относится к общей методике, на которую повлияла работа Злуфа, согласно которой для «фильтрации» результатов используются только элементы со значениями поиска. Он предоставляет пользователю программного обеспечения возможность выполнять запросы без необходимости знания языка запросов (например, SQL ). Программное обеспечение может автоматически генерировать запросы для пользователя (обычно незаметно). Вот несколько примеров:
Пример формы Б :
.....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 есть другие параметры оператора сравнения, часто через раскрывающееся меню, такие как «Содержит», «Не содержит», «Начинается с», «Больше, чем» и т. д.
Другой подход к сравнению текста — разрешить использование одного или нескольких подстановочных знаков . Например, если в конкретной системе звездочка обозначена как подстановочный знак, то поиск фамилий с использованием «Роб * » вернет (сопоставит) такие фамилии, как «Роб», «Роберт», «Робертсон», « Роберто» и др.
См. также
[ редактировать ]- CRUD
- Microsoft Query по примеру
- GraphQL — QBE для интерфейсов JSON.
- КБИК
Ссылки
[ редактировать ]- ^ Злуф, ММ (1977). «Запрос по примеру: язык базы данных». IBM Systems Journal . 16 (4): 324–343. CiteSeerX 10.1.1.86.3485 . дои : 10.1147/sj.164.0324 .
- ^ Чжу, Минчжу; Ву, И-Фан Брук (24 февраля 2014 г.). «Поиск по нескольким примерам». Материалы 7-й международной конференции ACM по веб-поиску и интеллектуальному анализу данных . АКМ. стр. 667–672. дои : 10.1145/2556195.2556206 . ISBN 9781450323512 . S2CID 8397529 .
- ^ "QBE", db4o , Разработчик библиотеки Java, IBM, 27 марта 2007 г.
Источники
[ редактировать ]- Злуф, Моше М. (май 1975 г.), «Запрос на примере», Национальная компьютерная конференция , Материалы конференции AFIPS, том. 44, Анахайм, Калифорния: AFIPS Press, стр. 431–8, ISSN 0095-6880 .
- Рамакришнан, Рагху ; Герке, Йоханнес , «6. QBE» (PDF) , Системы управления базами данных (3-е изд.), Wisc .
- Дэйт, Кристофер «Крис» Дж. (2004), «8. Реляционное исчисление», Введение в системы баз данных , Аддисон-Уэсли Пирсон, стр. 242–7, ISBN 978-0-321-18956-1 .
- Определения Oracle , техническая цель .
- Заян, О. (1998), «5. Запрос по примеру (QBE)» , примечания CC 354 , Канада: SFI .
Внешние ссылки
[ редактировать ]- «Запрос по примеру в Java с использованием Hibernate» . Джей Босс.
- Сойлу, Ахмет; Гизе, Мартин; Хименес-Руис, Эрнесто; Вега-Горгохо, Гильермо; Хоррокс, Ян (2015). «Опыт OptiqueVQS: многопарадигмальная и основанная на онтологиях система визуальных запросов для конечных пользователей» (PDF) . Универсальный доступ в информационном обществе . 15 : 129–152. дои : 10.1007/s10209-015-0404-5 . HDL : 11250/2388519 . S2CID 254169347 .
Система визуальных запросов (VQS)