Введение
Язык запроса базы данных Query by Example (QBE) — это язык запроса базы данных для реляционных баз данных. Он был разработан Моше М. Злуфом в IBM Research в середине 1970-х годов, параллельно с разработкой SQL. Это первый графический язык запросов, использующий визуальные таблицы, в которых пользователь вводит команды, примеры элементов и условия. Многие графические интерфейсы для баз данных и сегодня используют идеи, заложенные в QBE. Изначально QBE был ограничен только извлечением данных, но позже его возможности были расширены, чтобы поддерживать и другие операции, такие как добавление, удаление и обновление данных, а также создание временных таблиц. Основная идея QBE заключается в том, что анализатор может преобразовывать действия пользователя в операторы, выраженные на языке манипулирования базами данных, например, на SQL. В конечном итоге именно этот оператор и выполняется. Хорошо продуманный интерфейс может снизить нагрузку на пользователя, которому не нужно запоминать все тонкости SQL, и сделать работу с базами данных более простой и продуктивной для конечных пользователей (и даже программистов), позволяя выбирать таблицы и столбцы непосредственно, а не вводя их имена. В контексте информационного поиска QBE имеет несколько иное значение. Пользователь может предоставить один или несколько документов и запросить извлечение из базы документов "похожих" документов [см. Поиск по множеству примеров]. Поиск сходства основан на сравнении векторов документов (см. Векторная модель пространства). QBE представляет собой основополагающую работу в области разработки для конечных пользователей и часто упоминается в научных публикациях как ранний пример такого подхода. В настоящее время QBE поддерживается в нескольких реляционных базах данных, в частности в Microsoft Access, который реализует функцию "Визуальный запрос по примеру", а также в Microsoft SQL Server Enterprise Manager. Он также реализован в ряде объектно-ориентированных баз данных (например, в db4o). QBE основан на логическом формализме, называемом табличным запросом, хотя QBE добавляет к нему некоторые расширения, подобно тому, как SQL основан на реляционной алгебре.
Query by Example (QBE) is a database query language for relational databases. It was devised by Moshé M. Zloof at IBM Research during the mid 1970s, in parallel to the development of SQL. It is the first graphical query language, using visual tables where the user would enter commands, example elements and conditions. Many graphical front ends for databases use the ideas from QBE today. Originally limited only for the purpose of retrieving data, QBE was later extended to allow other operations, such as inserts, deletes and updates, as well as creation of temporary tables. The motivation behind QBE is that a parser can convert the user's actions into statements expressed in a database manipulation language, such as SQL. Behind the scenes, it is this statement that is actually executed. A suitably comprehensive front end can minimize the burden on the user to remember the finer details of SQL, and it is easier and more productive for end users (and even programmers) to select tables and columns by selecting them rather than typing in their names. In the context of information retrieval, QBE has a somewhat different meaning. The user can submit a document, or several documents, and ask for "similar" documents to be retrieved from a document database [see search by multiple examples]. Similarity search is based comparing document vectors (see Vector Space Model). QBE represents seminal work in end user development, frequently cited in research papers as an early example of this topic. Currently, QBE is supported in several relational database front ends, notably Microsoft Access, which implements "Visual Query by Example", as well as Microsoft SQL Server Enterprise Manager. It is also implemented in several object oriented databases (e. g. in db4o). QBE is based on the logical formalism called tableau query, although QBE adds some extensions to that, much like SQL is based on the relational algebra.
Пример
Приведен пример использования базы данных "Поставщики и детали" для иллюстрации принципа работы QBE. + Простой пример QBE S S# SNAME OWNER SCITY P. SX J. DOE ROME