Zapytanie według przykładu - Query by Example

Przykład zapytania QBE z łączeniami, zaprojektowanego w Borland's Paradox (baza danych)

Query By Example ( QBE ) jest baza danych języka zapytań do relacyjnych baz danych . Został opracowany przez Moshé M. Zloofa w IBM Research w połowie lat 70. XX wieku, równolegle z rozwojem SQL . Jest to pierwszy graficzny język zapytań, wykorzystujący tabele wizualne, w których użytkownik wprowadzałby polecenia, przykładowe elementy i warunki. Wiele graficznych front-endów dla baz danych wykorzystuje dziś pomysły z QBE. Pierwotnie ograniczone tylko do pobierania danych , QBE zostało później rozszerzone, aby umożliwić inne operacje, takie jak wstawianie, usuwanie i aktualizowanie, a także tworzenie tabel tymczasowych.

Motywacją QBE jest to, że parser może konwertować działania użytkownika na instrukcje wyrażone w języku manipulacji bazą danych, takim jak SQL . Za kulisami to właśnie ta instrukcja jest faktycznie wykonywana. Odpowiednio wszechstronny interfejs użytkownika może zminimalizować obciążenie użytkownika polegające na zapamiętywaniu drobnych szczegółów SQL, a użytkownikom końcowym (a nawet programistom) łatwiej jest i wydajniej wybierać tabele i kolumny, zamiast wpisywać je w nazwy.

W kontekście wyszukiwania informacji QBE ma nieco inne znaczenie. Użytkownik może przesłać dokument lub kilka dokumentów i poprosić o „podobne” dokumenty do pobrania z bazy danych dokumentów [patrz wyszukiwanie według wielu przykładów]. Wyszukiwanie podobieństw opiera się na porównywaniu wektorów dokumentów (patrz Model przestrzeni wektorowej ).

QBE to przełomowa praca w rozwoju użytkowników końcowych , często cytowana w artykułach naukowych jako wczesny przykład tego tematu.

Obecnie QBE jest obsługiwane w kilku frontonach relacyjnych baz danych, w szczególności w Microsoft Access, który implementuje "Visual Query by Example", a także w Microsoft SQL Server Enterprise Manager. Jest również zaimplementowany w kilku obiektowych bazach danych (np. W db4o ).

QBE jest oparte na logicznym formalizmie zwanym zapytaniem tableau , chociaż QBE dodaje do tego pewne rozszerzenia, podobnie jak SQL jest oparty na algebrze relacyjnej .

Przykład

Poniżej podano przykład wykorzystania bazy danych dostawców i części , aby zilustrować, jak działa QBE.

Prosty przykład QBE
S S # SNAME WŁAŚCICIEL SCITY
P. SX J. DOE RZYM

Jako technika ogólna

Termin odnosi się również do ogólnej techniki, na którą wpłynęła praca Zloofa, w której do „filtrowania” wyników są używane tylko elementy z wartościami wyszukiwania. Umożliwia użytkownikowi oprogramowania wykonywanie zapytań bez znajomości języka zapytań (na przykład SQL ). Oprogramowanie może automatycznie generować zapytania dla użytkownika (zwykle za kulisami). Oto kilka przykładów:

Przykładowy formularz B :

.....Name: Bob
..Address:
.....City:
....State: TX
..Zipcode:

Wynikowy SQL :

SELECT * FROM Contacts WHERE Name='Bob' AND State='TX';

Zwróć uwagę, że puste elementy nie generują terminów SQL . Ponieważ „Adres” jest pusty, nie jest generowana żadna klauzula. Na przykład formularz C :

.....Name: 
..Address:
.....City: Sampleton
....State: 
..Zipcode: 12345

Wynikowy SQL :

SELECT * FROM Contacts WHERE City='Sampleton' AND Zipcode='12345';

Bardziej zaawansowane wersje QBE mają inne opcje operatora porównania, często poprzez menu rozwijane, takie jak „Zawiera”, „Nie zawiera”, „Rozpoczyna się od”, „Większe niż” i tak dalej.

Innym podejściem do porównywania tekstu jest zezwolenie na jeden lub więcej znaków wieloznacznych . Na przykład, jeśli gwiazdka jest oznaczona jako symbol wieloznaczny w określonym systemie, wyszukiwanie nazwisk za pomocą „Rob * ” zwróci (dopasuje) nazwiska, takie jak „Rob”, „Robert”, „Robertson”, „ Roberto ”itp.

Zobacz też

Bibliografia

  1. ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (24.02.2014). Szukaj według wielu przykładów . ACM. pp. 667–672. doi : 10.1145 / 2556195.2556206 . ISBN 9781450323512.
  2. ^ "QBE", db4o , Developer Works Java Library, IBM, 27 marca 2007

Źródła

Zewnętrzne linki

  • Zapytanie na przykładzie dla PostgreSQL , odlewnia Pg.
  • „Zapytanie na podstawie przykładu w Javie przy użyciu Hibernate”, Jboss.
  • „Doświadczenie OptiqueVQS: oparty na wielu paradygmatach i ontologii wizualny system zapytań dla użytkowników końcowych”, Optique (PDF).