Zapytanie według przykładu - Query by Example
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.
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ż
- CRUD
- Zapytanie firmy Microsoft według przykładu
- GraphQL a QBE dla frontonów JSON.
- QBIC
Bibliografia
- ^ 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.
- ^ "QBE", db4o , Developer Works Java Library, IBM, 27 marca 2007
Źródła
- Zloof, Moshé M (maj 1975), „Query by Example”, NCC (postępowanie), 44 , Anaheim , Kalifornia: AFIPS.
- Ramakrishnan, Raghu ; Gehrke, Johannes , „6. QBE” (PDF) , Database Management Systems (3. wydanie), Wisc.
- Date, Christopher 'Chris' J. (2004), „8. Relational Calculus”, An Introduction to Database Systems , Addison-Wesley Pearson, s. 242–7, ISBN 978-0-321-18956-1.
- Definicje Oracle , cel techniczny.
- Zaiane, „5” , notatki CC 354 , Kanada: SFI.
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).