В современных СУБД широко используются табличные языки запросов. Наиболее распространенным среди них является язык QBE (Query-By-Example - запрос по примеру). Язык QBE предназначен для работы в интерактивном режиме и ориентирован на конечного пользователя. В окне формирования запроса выделяются две зоны. В первой из них высвечивается «скелет» (образ, форма, структура) одной или нескольких таблиц, данные из которых будут участвовать в запросе. В качестве исходных для запроса могут указываться не только базовые таблицы, но и другие запросы. Во второй зоне («скелете» запроса табличной формы) пользователь задает условия запроса. В этой зоне пользователь определяет, какие поля участвуют в формировании запроса, а также условия отбора и некоторые другие характеристики запроса.
Характеристика языка QBE
В современных СУБД широко используются табличные языки запросов. Наиболее
распространенным среди них является язык QBE (QueryByExample запрос по примеру).
Язык QBE предназначен для работы в интерактивном режиме и ориентирован на конечного
пользователя. В окне формирования запроса выделяются две зоны. В первой из них
высвечивается «скелет» (образ, форма, структура) одной или нескольких таблиц, данные из
которых будут участвовать в запросе. В качестве исходных для запроса могут указываться
не только базовые таблицы, но и другие запросы. Во второй зоне («скелете» запроса
табличной формы) пользователь задает условия запроса. В этой зоне пользователь
определяет, какие поля участвуют в формировании запроса, а также условия отбора и
некоторые другие характеристики запроса. Например, если пользователю необходимо
получить все записи с заданным значением конкретного атрибута, то в соответствующем
столбце «скелета» указывается это значение.например: Требуется выдать информацию обо
всех сотрудниках в возрасте 40 лет. В соответствующем столбце таблицы (VOZR)
указывается цифра 40. В столбце можно записывать не только значение атрибута, но и знак
операции сравнения; по умолчанию принимается знак равенства («=»).FAM фамилия;
IMIA имя; TABN табельный номер; VOZR возраст; POL пол;
ADR адрес. Простой запрос
Kadr FAM IMIA TABN VOZR POL ADR
40
Допускается задание и простых запросов, включающих только один аргумент поиска, и
сложных запросов, компоненты которых связаны операторами AND (И) или OR (ИЛИ).
Операторы AND и OR в явном виде не указываются при формулировании запроса на QBE.
При отображении запросов на экране используется следующее правило: если в сложном
запросе его компоненты представляют разные атрибуты, которые должны быть связаны
оператором AND, то они записываются в одной строке (рис. 6.2). Если компоненты запроса
должны быть связаны операторами OR, то они записыва
ются на разных строках (рис. 6.3).
На рис. 6.2 изображен запрос: «Выдать информацию о сотруднике с фамилией Диго и
именем Светлана», а на рис. 6.3 «Выдать информацию о сотрудниках, имеющих либо
фамилию Диго, либо имя Светлана».
В связи с тем, что интерпретация запроса зависит от взаимного расположения элементов
сложного запроса на строках экрана, такого рода языки запросов называются табличными
двухмерными. при задании запроса в QBE экран обычно делится на две зоны: зона, в
которой указываются данные, исходные для запроса, и зона, в которой описывается ответ.
В некоторых реализациях языка при описании отдельных видов запросов появляются
дополнительные зоны (например, в dBase IV при задании вычисляемого поля [19]). Вид, в
котором представляются структуры исходных таблиц, а также то, где фиксируются
условия поиска, могут различаться в конкретных системах. Так, в dBase IV таблицы как в
зоне «запроса», так в зоне «ответа» представляются в табличном виде, а условия отбора
записей указываются в таблицах зоны «запроса». В Access, FoxPro исходные таблицы
представлены в анкетной форме (поля таблицы перечисляются один под другим), а в зоне
«ответа» в табличной форме отображаются те атрибуты (поля), которые будут выдаваться
в ответе. Условия отбора записей задаются в зоне «ответа». Кроме собственно поисковых
запросов язык QBE позволяет выполнять и другие операции, например корректировкуданных. Набор допустимых операций, а также способы их задания несколько различаются в
разных системах. Запросы, сформулированные на QBE, могут быть запомнены для их
последующего многократного использования