Najlepsze pytania
Chronologia
Czat
Perspektywa
Query by Example
Z Wikipedii, wolnej encyklopedii
Remove ads
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[1][2]. 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)[3].
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)[3]. Wynikiem zapytania jest zbiór rekordów spełniających warunki zadane w tabelach przykładowych[4].
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)[3]. W narzędziach IBM QMF mechanizm ten jest jawny m.in. poprzez polecenie CONVERT, które przekształca zapytanie QBE do zapytania SQL[5].
Remove ads
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)[2]. 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ń[3].
Remove ads
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:
- projekcję (jakie pola mają znaleźć się w wyniku) – zwykle przez oznaczenie kolumn komendą P. (print)[3],
- selekcję (warunki dla atrybutów) – przez wpisanie stałych lub warunków typu < 10, test, negacji itp.[3],
- złączenia (łączenie relacji) – przez użycie tej samej zmiennej dziedzinowej w kolumnach pełniących rolę atrybutów łączenia w różnych tabelach przykładowych[3],
- eliminację duplikatów i porządkowanie – m.in. przez dyrektywy typu UNQ./ALL. oraz sortowanie .AO/.DO w połączeniu z P.[3].
Remove ads
Implementacje i zastosowania
- IBM Query Management Facility (QMF) udostępnia panele QBE do konstruowania zapytań oraz zestaw poleceń specyficznych dla QBE (np. DRAW, CONVERT)[6][7].
- Wpływ QBE jest wskazywany w literaturze m.in. na interfejsy oferowane przez niektóre systemy i narzędzia desktopowe (np. Borland Paradox, a w pewnym zakresie Microsoft Access)[3]. W dokumentacji Microsoft Access nazwa QBE grid pojawia się historycznie jako dawne określenie siatki projektowania zapytań (design grid)[8].
Przypisy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads