Характеристика мови QBE
Теоретичною основою мови QBE є реляційне обчислення зі змінними доменом. Мова QBE дозволяє задавати складні запити до БД шляхом заповнення запропонованої СУБД запитної форми. Такий спосіб завдання запитів забезпечує високу наочність і вимагає вказівки алгоритму виконання операції – досить описати зразок очікуваного результату. У кожній із сучасних реляційних СУБД є свій варіант мови QBE.
На мові QBE можна запитувати однотабличні і багатотабличні (вибирають чи обробні дані з кількох пов'язаних таблиць).
За допомогою запитів на мові QBE можна виконувати такі основні операції:
∙ обчислення над даними;
∙ вставку нових записів;
∙ модифікацію (зміна) даних.
Результатом виконання запиту є нова таблиця, звана у відповідь (перші дві операції), або оновлена вихідна таблиця (інші операції).
Вибірка, вставка, видалення та модифікація можуть проводитися безумовно або відповідно до умов, що задаються за допомогою логічних виразів. Обчислення над даними задаються за допомогою арифметичних виразів і породжують у таблицях у відповідь нові поля, звані обчислюваними .
Запитна форма має вигляд таблиці, ім'я та назви полів якої збігаються з ім'ям та назвами полів відповідної вихідної таблиці. Щоб дізнатися про імена доступних таблиць БД, у мові QBE передбачений запит на вибірку імен таблиць. Назви полів вихідної таблиці можуть бути введені в шаблон вручну або автоматично. У другому випадку використовується запит на вибір заголовків стовпців.
У сучасних СУБД, наприклад, у Access і Visual FoxPro, багато дій з підготовки запитів з допомогою мови QBE виконуються візуально з допомогою миші. Зокрема,візуальне зв'язування таблиць під час підготовки запиту виконується не елементами прикладів, а просто «протягуванням» мишею поля однієї таблиці до поля інший.
Початковий варіант QBE
Розглянемо основні можливості QBE, спираючись з його початковий варіант.
Для ілюстрації засобів та можливостей мови QBE використовуємо таблиці БД, яка відноситься до торгової сфери та використовується у фірмі, що продає товари кількох видів. База даних включає чотири наступні таблиці з полями:
∙ ЕМР (службовці): ПІБ – прізвище та ініціали службовця, ЗАРПЛАТА – розмір посадового окладу, КЕРІВНИК – прізвище
та ініціали керівника, ВІДДІЛ – назва відділу, в якому працює службовець;
∙ SALES (продаж): ВІДДІЛ – назва відділу, ТОВАР – назва
∙ SUPPLY (постачальники): ТОВАР – назва товару, що поставляється, ПОСТАЧАЛЬНИК – назва організації, що поставляє товар;
∙ TYPE (типи товарів): ТОВАР – назва товару, КОЛІР – його колір, ВАРТІСТЬ – вартість товару.
У таблицях наведено неповні та спрощені відомості. Так було в таблиці TYPE зазначені в повному обсязі види товарів, наведені у таблиці SALES.
Для опису змінних умов відбору записів, а також для зв'язування шаблонів у запитах використовуються елементи прикладу.

Елемент прикладу відіграє роль ідентифікатора змінної (як у мові програмування) та задається за допомогою символьно-цифрової послідовності. Елементи прикладу у шаблонах виділимо підкресленням. Вид (довжина та склад) елемента прикладу ролі не грають: головне щоб при використанні в декількох місцях шаблону він був однаковим. Таким чином, елементи прикладу, зокрема, можна використовувати ідентифікатори example , х або у .
Для вказівки системі необхідності включення у відповідьтаблицю того чи іншого поля використовується «Р.», що означає «надрукувати».

приклад 1 . Запит на вибірку.
З урахуванням викладеного запит на вибірку всіх зелених товарів можна записати у такому вигляді:
Словесно запит можна сформулювати так: «Вивести всі товари XX, колір яких зелений». У наведеному шаблоні елемент прикладу XX не є обов'язковим, і його можна опустити. Елементи прикладу вказуються обов'язково під час запису логічних умов, і навіть при зв'язуванні таблиць у запитах.
Порожні колонки із шаблону можна видаляти. Приклад 2 . Видалення колонок.
У нас стовпцем, що не використовується, є ВАРТІСТЬ. Виходячи з цього, для наведеного шаблону можна записати наступний еквівалентний шаблон:
Після заповнення шаблону для отримання результату натискається відповідна клавіша, наприклад, і починається виконання запиту. Результатом виконання наведеного запиту є така таблиця:
ручка
Розглянемо основні можливості перелічених вище типів операцій, які у запитах.
Вибірка даних
Проста вибірка. Приклад простої вибірки є запит: «Вивести всі можливі кольори товарів з таблиці TYPE».

Приклад 3 . Проста вибірка.
Заповнений шаблон у цьому випадку виглядатиме так: TYPEТОВАРКОЛІВАРНЯ
Таблиця у відповідь має єдиний стовпець КОЛІР, що містить значення: білий, червоний, порожньо (значення не задано), зелений і синій. Значення, що дублюються, при цьому пропадають.
Якщо ви хочете вивести дані з кількох полів вихідної таблиці, у кожному з відповідних стовпців шаблону записується «Р.». Занесення «Р.» у всі стовпці шаблону можна замінити записом "Р." у першому стовпчику шаблону під назвою таблиці.
Проста вибірка із впорядкуванням. Для впорядкування значень, що виводяться за зростанням і за спаданням, використовуються конструкції «АТ.» та «DO.» відповідно. Якщо потрібно виконати впорядкування кількох стовпців, застосовують конструкції виду: «АО(1).», «АО(2).»
Вибір з кваліфікаторами (умовами). Вибір записів з вихідної таблиці у випадку може бути заснований на: точному збігу, частковому збігу, сравнении.
Точний збіг задається введенням констант у відповідних полях шаблону, як у разі запиту на товари зеленого кольору.
Частковий збіг задається за допомогою елементів прикладу. Зокрема, для формулювання запиту про виведення всіх видів товарів, назви яких починаються з літери «і», можна скористатися конструкцією «Р.і ke», записаною у полі ТОВАР таблиці TYPE. Тут: "Р." задає висновок, "і" константа, а "ke" - елемент прикладу, що грає роль змінної.
Використовуючи елементи прикладу, можна задавати різні варіанти часткового збігу зі значеннями даних з таблиць: на початку «і ke», наприкінці «х а», у середині «xlo x2» та у довільному місці.
Оскільки елементу прикладу можна порівняти будь-який символ, у тому числі й порожній (відсутність символу), то умові часткового збігу «xlo x2» задовольняють слова, що не тільки мають символ «о» в середині, але й закінчуються на «о».
Приклад 4 . Частковий збіг.
Шаблон запиту з вибором товарів синього кольору, у середині назв яких є буква «р», виглядає так: