Query by Example

Query by Example (QBE) – przyjazna dla użytkownika technika tworzenia zapytań do bazy danych, opracowana pierwotnie w IBM i opisana w publikacjach Moshé M. Zloofa z połowy lat 70. XX wieku. W klasycznej postaci QBE jest wizualnym językiem zapytań dla relacyjnych baz danych: użytkownik konstruuje zapytanie przez uzupełnianie tzw. tabel przykładowych (example tables/skeleton tables), a system tłumaczy je na formalną postać wykonywaną przez silnik bazy danych (np. SQL).

Technika ta polega na wypełnieniu szukanymi wartościami pól w reprezentacji odpowiadającej strukturze rekordów w bazie, np. „Warszawa” w polu „Miasto” czy „Kowalski” w polu „Nazwisko”. W praktyce „przykład” może zawierać nie tylko stałe (np. ciągi znaków), ale również operatory porównania, zmienne dziedzinowe oraz polecenia określające pola wyniku (np. komendę projekcji P. – print). Wynikiem zapytania jest zbiór rekordów spełniających warunki zadane w tabelach przykładowych.

System QBE dokonuje konwersji z zapytania użytkownika do formalnego zapytania bazy danych, co pozwala wykonywać zapytania bez bezpośredniej znajomości składni języka tekstowego (np. SQL). W narzędziach IBM QMF mechanizm ten jest jawny m.in. poprzez polecenie CONVERT, które przekształca zapytanie QBE do zapytania SQL.

Historia i rozwój

QBE zostało zaprojektowane w IBM jako język wysokiego poziomu, w którym użytkownik „wpisuje przykład” rozwiązania w tabelach odpowiadających relacjom bazy, a system wyprowadza z tego formalne polecenia zapytań (oraz – w rozszerzeniach – modyfikacji danych). W literaturze dotyczącej systemów bazodanowych QBE bywa przedstawiane jako jedna z pierwszych szeroko opisywanych technik wizualnego formułowania zapytań, mająca wpływ na późniejsze interfejsy tabelaryczne do projektowania zapytań.

Składnia i semantyka

W typowej prezentacji QBE użytkownik buduje zapytanie na ekranie, tworząc tabele przykładowe odpowiadające relacjom oraz uzupełniając je elementami określającymi:

Implementacje i zastosowania

Przypisy

  1. ↑ Moshé M. Zloof, Query by example, IBM Research, 19 maja 1975 [dostęp 2025-12-15] (ang.).
  2. 1 2 M.M. Zloof, Query-by-Example: A data base language, „IBM Systems Journal”, 16 (4), 1977, s. 324–343, DOI: 10.1147/sj.164.0324 [dostęp 2025-12-15] (ang.).
  3. 1 2 3 4 5 6 7 8 9 Query-by-Example (QBE) [online], pages.cs.wisc.edu [dostęp 2025-12-15] (ang.).
  4. 1 2 Displaying the QBE query panel [online], IBM [dostęp 2025-12-15] (ang.).
  5. 1 2 QMF commands specific to QBE [online], IBM [dostęp 2025-12-15] (ang.).
  6. ↑ Access glossary [online], Microsoft Support [dostęp 2025-12-15] (ang.).