Query by Example (QBE): vizuální dotazovací jazyk pro databáze
Query by Example (QBE) – vizuální dotazovací jazyk pro relační databáze: rychlé a intuitivní tvoření dotazů bez nutnosti SQL, včetně vyhledávání podobných dokumentů.
Query by Example (běžně zkracováno na QBE) je databázový dotazovacíjazyk pro relační databáze. Byl vyvinut ve společnosti IBM v 70. letech 20. století. Vývoj jazyka SQL probíhal souběžně. QBE byl navržen pro uživatele, kteří pracují s databázemi příležitostně a nechtějí se učit textovou syntaxi dotazovacích jazyků jako SQL — místo psaní dotazu uživatel „ukáže“ příklad výsledku nebo vyplní vizuální formulář reprezentující schéma databáze.
Princip fungování
Při použití příkladových dotazů se uživatelům zobrazí vizuální schéma databáze (např. seznam tabulek a jejich sloupců), které mohou upravovat pomocí speciálního editoru. Když jsou hotovi, parser převede jejich akce na dotaz v běžném dotazovacím jazyce (často SQL). Za tímto mezivrstvou se pak příkaz skutečně provede na databázi. Díky vhodnému front-endu si uživatel nemusí pamatovat syntaktické detaily dotazovacího jazyka; místo psaní jmen tabulek a sloupců často stačí na ně kliknout nebo do polí vložit příklady hodnot.
Typické prvky rozhraní QBE
- mřížka nebo formulář s vypsanými tabulkami a jejich atributy (sloupci),
- možnost vložit do polí konkrétní hodnoty, rozsahy nebo zástupné symboly (wildcards),
- označení polí pro výběr (SELECT), řazení (ORDER BY), seskupování (GROUP BY) či agregace (SUM, COUNT apod.),
- použití stejného jména proměnné ve více tabulkách pro vyjádření spojení (JOIN),
- vizuální filtry a logické podmínky (AND/OR/NOT) bez nutnosti psát SQL.
Příklad (slovně)
Chcete-li například v QBE vybrat zaměstnance z oddělení „Prodej“ s platem větším než 50 000, v mřížce u sloupce oddělení zadáte hodnotu Prodej a u sloupce plat výraz >50000. Editor pak vygeneruje odpovídající SQL dotaz a provede ho. Pro spojení dvou tabulek (např. Zaměstnanci a Oddělení) stačí do příslušných polí vložit stejnou proměnnou nebo vytvořit vizuální linku mezi sloupci.
Výhody a omezení
- Výhody: snižuje vstupní bariéru pro neprogramátory; zrychluje běžné dotazy; eliminuje překlepy v názvech tabulek/sloupců; učí koncepty relačního dotazování vizuálně.
- Omezení: u složitých dotazů (pokročilé poddotazy, některé druhy agregací nebo optimalizace) může být QBE méně přehledné nebo méně flexibilní než ručně psané SQL; kvalita generovaného SQL závisí na implementaci front-endu a optimalizátoru;
- implicitní převod do SQL může někdy vést k neoptimálním dotazům, pokud rozhraní nerozumí dobře relačním vlastnostem dat nebo indexům.
QBE v kontextu vyhledávání informací
V kontextu vyhledávání informací může zkratka QBE znamenat něco jiného: uživatel zadá jako „dotaz“ celý dokument nebo příklad textu a systém vrátí „podobné“ dokumenty z kolekce. Toto dotazování je založeno na porovnávání vektorových reprezentací dokumentů (viz Model vektorového prostoru) — metoda často používaná v informačním vyhledávání a doporučovacích systémech.
Historie a vliv
QBE vznikl jako uživatelsky orientovaná alternativa k textovým dotazovacím jazykům. Jeho koncepty (vizuální návrhář dotazů, mřížkový editor dotazů) ovlivnily řadu komerčních nástrojů a desktopových aplikací. Mnohé dnes dostupné nástroje pro práci s databázemi (grafické návrháře dotazů, „query builders“) využívají myšlenky QBE, aby zpřístupnily složité dotazy širšímu okruhu uživatelů.
Implementace a moderní nástroje
Mnoho databázových systémů má dnes front-endy, které se podobají QBE. Typické příklady v praxi jsou grafické návrháře dotazů v nástrojích jako Microsoft Access, různých databázových IDE a některých webových rozhraních pro správu databází. Moderní BI nástroje a vizualizační platformy často nabízejí „drag-and-drop“ rozhraní, které kombinuje principy QBE s pokročilou vizualizací a transformacemi dat.
Závěr
QBE zjednodušuje tvorbu dotazů tím, že uživateli umožní vyjádřit požadovaný výsledek pomocí příkladů a vizuálních úprav, zatímco v pozadí probíhá převod na formální dotazovací jazyk (obvykle SQL). Díky tomu je užitečný zejména pro příležitostné uživatele, analytiky a v nástrojích zaměřených na rychlou tvorbu dotazů a reportů. Pro velmi složité nebo vysoce optimalizované dotazy zůstává důležité umět pracovat přímo se SQL nebo s jinými pokročilými dotazovacími jazyky.
Otázky a odpovědi
Otázka: Co je to quena podle příkladu?
Odpověď: Query by Example (QBE) je databázový dotazovací jazyk pro relační databáze.
Otázka: Kdy byl QBE vyvinut?
A: QBE byl vyvinut ve společnosti IBM v 70. letech 20. století.
Otázka: Proč byl QBE vyvinut?
A: QBE byl vyvinut pro uživatele, kteří používají databáze jen příležitostně a nechtějí se učit složitý jazyk, jako je SQL.
Otázka: Jak QBE funguje?
A: QBE předkládá uživatelům vizuální schéma databáze, které upravují pomocí speciálního editoru. Parser pak jejich akce převede na dotaz v běžném dotazovacím jazyce, jako je SQL, který se provede v zákulisí.
Otázka: Jak QBE zvyšuje produktivitu?
Odpověď: Pomocí QBE mohou uživatelé rychleji vybírat tabulky a sloupce, například kliknutím na ně, místo aby psali jejich názvy.
Otázka: Jaký je kontext QBE při vyhledávání informací?
Odpověď: V kontextu vyhledávání informací umožňuje QBE uživatelům odeslat dokument a požádat o vyhledání podobných dokumentů z databáze dokumentů pomocí vyhledávání podobnosti založeného na porovnávání vektorů dokumentů.
Otázka: Které databázové systémy mají dnes front-endy, které se podobají QBE?
Odpověď: Mnoho databázových systémů má dnes front-endy, které se podobají QBE.
Vyhledávání