Query by Example (QBE): дефиниция и приложение в бази данни

Научете как Query by Example (QBE) улеснява работа с бази данни чрез визуален интерфейс, автоматично генериране на SQL и търсене на сходни документи.

Автор: Leandro Alegsa

Query by Example (често съкращаван като QBE) е език зазаявки към бази данни за релационни бази данни. Разработен е в IBM през 70-те години на миналия век, в период, когато паралелно се оформя и SQL. Целта на QBE е да улесни потребителите, които работят с бази данни рядко или предпочитат графичен подход пред писането на сложни заявки — т.е. да намали необходимостта от учене на синтаксис и да ускори създаването на заявки.

Как работи QBE

При QBE потребителят вижда визуално представяне на схемата (таблиците и колоните) и попълва образци или критерии в специален редактор (grid или формуляр). След това системата използва анализатор, който преобразува тези визуални операции в еквивалентна заявка на език за заявки (например SQL). Тази генерирана заявка е това, което реално се изпълнява върху базата данни.

Типични елементи на QBE интерфейс:

  • Редове и колони, съответстващи на полетата на таблиците;
  • Клетки за въвеждане на критерии за филтриране (напр. = 'Sales', > 1000);
  • Колони, маркирани за проекция (кои полета да се върнат като резултат);
  • Възможности за задаване на сортиране, групиране и агрегатни функции (SUM, COUNT и т.н.);
  • Инструменти за създаване на връзки (joins) между таблици чрез поставяне на полета в един ред или чрез визуално свързване.

Пример (описателно)

Например, за да намерите служители в отдел "Продажби" с заплата над 50 000, в QBE интерфейс бихте избрали таблицата Employees, маркирали полетата Name и Salary за показване, а в клетката за Department бихте написали 'Sales', а в клетката за Salary — >50000. Анализаторът ще сглоби съответната SQL-заявка и ще я изпълни.

Предимства и недостатъци

Предимства:

  • Ниска бариера за влизане — подходящ за нетехнически потребители и бързи ad‑hoc заявки;
  • По-малко грешки в синтаксиса — потребителят работи с визуални елементи вместо да пише дълги текстови заявки;
  • По-бързо селектиране на таблици и колони чрез щракване и визуални операции.

Недостатъци:

  • Ограничена изразителност за много сложни или рекурсивни заявки — някои сложни конструкции са по-трудни или невъзможни за представяне графично;
  • Понякога абстрахира изпълнението и оптимизацията — потребителят не вижда директно как се изпълнява заявката и може да не разпознае проблеми с производителността;
  • Графичните интерфейси могат да бъдат по-трудни за автоматизация или версиониране в сравнение с текстови заявки.

QBE в извличането на информация

В контекста на извличането на информация понятието QBE добива допълнително значение: потребителят подава примерен документ (или няколко примера) и системата връща "подобни" документи от колекция. Това търсене на сходство обикновено се базира на сравнение на векторни представяния на документи (виж Модел на векторно пространство) — т.е. QBE се използва като начин за формулиране на заявка чрез пример, а не чрез ключови думи или точен синтаксис.

Съвременни приложения и имплементации

Много съвременни системи за управление на бази данни и графични front-end инструменти възприемат концепции от QBE: визуални конструктори на заявки, drag‑and‑drop интерфейси и формуляри за критерии. Примери за инструменти, които предлагат подобни възможности, включват офис приложения и BI инструменти, които позволяват на нетехнически потребители да създават отчети и запитвания без писане на SQL.

QBE остава важен подход в проектирането на потребителски интерфейси за бази данни — особено в системи, насочени към бързо извеждане на данни и към потребители, които предпочитат визуални средства за взаимодействие с информацията.

Въпроси и отговори

В: Какво е запитване по пример?


О: Query by Example (QBE) е език за заявки към релационни бази данни.

В: Кога е разработен QBE?


О: QBE е разработен в IBM през 70-те години на миналия век.

В: Защо е разработен QBE?


О: QBE е разработен за потребители, които използват бази данни само от време на време и не искат да учат сложен език като SQL.

В: Как работи QBE?


О: QBE представя на потребителите визуална схема на базата данни, която те редактират със специален редактор. След това анализатор превежда техните действия в заявка на обикновен език за заявки като SQL, която се изпълнява зад кулисите.

В: Как QBE подобрява производителността?


О: С QBE потребителите могат да избират таблици и колони по-бързо, например като щракнат върху тях, вместо да въвеждат имената им.

В: Какъв е контекстът на QBE в търсенето на информация?


О: В контекста на извличането на информация QBE позволява на потребителите да подадат документ и да поискат подобни документи да бъдат извлечени от база данни с документи, като се използва търсене на сходство, основано на сравняване на векторите на документите.

Въпрос: Кои системи за бази данни имат фронт ендове, които наподобяват QBE днес?


О: Днес много системи за бази данни имат front-end, който наподобява QBE.


обискирам
AlegsaOnline.com - 2020 / 2025 - License CC3