Запрос по примеру

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

использовать

QBE-подобные интерфейсы все еще можно найти сегодня как графические интерфейсы для систем баз данных.

Интерфейс QBE можно найти, например, как одну из нескольких функций запросов, реализованных в программах базы данных DOS dBASE -IV и -V, которые широко использовались с 1988-1995 годов.

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

При поиске в поисковых системах запрос по примеру означает поиск документов, которые имеют минимальное соответствие выбранному образцу документа.

Принципы

Система сначала предоставляет структуру таблицы (также: скелет), которую пользователь может заполнить примерами элементов , операциями сравнения и командами . Для более сложных условий есть специальная таблица - поле условий . Также можно использовать агрегатные функции. Линии также можно отрицать целиком.

Элементы примера начинаются с "_" и используются для связывания таблиц (объединения) и для указания условий в поле условия. Операции сравнения указываются в ячейке, например, запись «> 7» соответственно сравнивает атрибут. Команды P, I. и D. обозначают печать, вставку и удаление. I. и D. всегда указываются в первом столбце, P. может быть в первом столбце, чтобы выводить всю строку, или, в случае одного или нескольких атрибутов, чтобы выводить только эти атрибуты - отрицательная строка не должен содержать P.

Примеры

Пусть в системе существуют следующие отношения:

ПОКУПАТЕЛЬ (кднр, имя, адрес, место)
ЗАДАНИЕ (№ заказа, № клиента, № товара, количество)
БЫЛО БЫ (номер продукта, wname, wpreis)

В QBE запросы выполняются путем заполнения структур таблиц.

Места, где есть клиенты
ПОКУПАТЕЛЬ kdnr кличка адрес место
П.
Все клиенты из Бремена
ПОКУПАТЕЛЬ kdnr кличка адрес место
П. = 'Бремен'

Эти примеры показывают, как реализованы проекция (скрытие столбцов) и выделение (скрытие линий). Два запроса, которые используют соединения и используют элементы примера:

Клиенты с заказом
ПОКУПАТЕЛЬ kdnr кличка адрес место
П. _kdnr
ЗАДАНИЕ порядковый номер kdnr товаров нет количество
_kdnr

В следующем примере показано использование инвертированных строк:

Товар без заказа
БЫЛО БЫ товаров нет wname wpreis
П. _хорошо нет
ЗАДАНИЕ порядковый номер kdnr товаров нет количество
¬ _хорошо нет

Перекрестный продукт двух отношений будет сформирован следующим образом:

Записи в каркасе таблиц
БЫЛО БЫ товаров нет wname wpreis
_хорошо нет _wname _wprice
ЗАДАНИЕ порядковый номер kdnr товаров нет количество
_порядковый номер _kdnr _warennr2 _количество
Новый каркас стола W × A
Ш × А товаров нет wname wpreis порядковый номер kdnr товаров нет количество
П. _хорошо нет _wname _wprice _порядковый номер _kdnr _warennr2 _количество

Для реализации заданных операций реляционной алгебры необходимы несколько утверждений. Если у вас было два отношения со схемой CUSTOMER, CUSTOMER и SCAM, вы могли бы получить всех возможных КЛИЕНТОВ, объединив эти два отношения. Это можно сделать только двумя операциями, а не одной:

ПОКУПАТЕЛЬ kdnr кличка адрес место
_kdnr _kname _адрес _место
Новая структура таблицы
КЛИЕНТ kdnr кличка адрес место
Я. _kdnr _kname _адрес _место

Сначала значения отношения CUSTOMER вставляются в новое отношение. Затем во второй операции появляются ЧИТЕРЫ:

ОБМАНЫ kdnr кличка адрес место
_kdnr _kname _адрес _место
КЛИЕНТ kdnr кличка адрес место
Я. _kdnr _kname _адрес _место

Новое отношение теперь содержит CUSTOMER ∪ CHEATER.

веб ссылки

  • Рамакришнан, Рагху; Герке, Йоханнес: запрос на примере. (PDF; 140 kB) В: Системы управления базами данных (3-е изд.). www.cs.wisc.edu, по состоянию на 15 октября 2011 г. (на английском языке).