Query by Example

Query by Example

Query by Example (Suche anhand von Beispielen) bezeichnet eine relationale Datenbankabfragesprache, die von Moshé M. Zloof bei IBM parallel zu System R entwickelt wurde. Sie beruht im Wesentlichen auf dem Bereichskalkül. Dabei wird die Abfrage nicht wie in SQL durch einen Text repräsentiert, sondern durch ein Tabellengerüst, das mit Spezial-Editoren bearbeitet werden kann. Diese grafische Abfragensprache richtet sich speziell an Gelegenheitsbenutzer, die mit SQL und anderen komplexen Abfragen wenig anfangen können.

Inhaltsverzeichnis

Verwendung

QBE-ähnliche Schnittstellen finden sich noch heute als grafische Frontends für Datenbanksysteme.

Die QBE-Schnittstelle findet man beispielsweise als eine von mehreren Abfragefunktionen in den DOS-Datenbankprogrammen dBASE-IV und -V, welche 1988–1995 stark verbreitet waren, verwirklicht.

QBE ist relational vollständig, jedoch ist für manche Anfragen eine Folge von QBE-Anfragen nötig, daher ist es nicht streng relational vollständig.

Bei der Suche in Suchmaschinen meint man mit Query by Example die Suche nach Dokumenten, die eine Mindestübereinstimmung zu einem selektierten Beispiel-Dokument aufweisen.

Prinzipien

Das System stellt zunächst ein Tabellengerüst (auch: -skelett) zur Verfügung, das durch den Benutzer mit Beispielelementen, Vergleichsoperationen und Kommandos gefüllt werden kann. Für komplexere Bedingungen gibt es eine spezielle Tabelle, die condition box. Weiterhin können Aggregatfunktionen verwendet werden. Zeilen können insgesamt auch negiert werden.

Beispielelemente beginnen mit „_“, und dienen der Verknüpfung von Tabellen (Join) und der Angabe von Bedingungen in der condition box. Vergleichsoperationen werden in einer Zelle angegeben, zum Beispiel vergleicht der Eintrag „>7“ das Attribut entsprechend. Die Kommandos sind P., I. und D. und stehen für print, insert und delete. I. und D. werden immer in der ersten Spalte angegeben, P. kann in der ersten Spalte stehen, um die gesamte Zeile auszugeben, oder bei einem oder mehreren Attributen, um nur diese Attribute auszugeben – eine negierte Zeile darf allerdings kein P. enthalten.

Beispiele

Im System seien diese Relationen vorhanden:

KUNDE (kdnr, kname, adresse, ort)
AUFTRAG (auftragsnr, kdnr, warennr, menge)
WARE (warennr, wname, wpreis)

In QBE stellt man dann Anfragen durch Befüllen der Tabellengerüste.

Orte, in denen es Kunden gibt
KUNDE kdnr kname adresse ort
P.
Alle Kunden aus Bremen
KUNDE kdnr kname adresse ort
P. ='Bremen'

An diesen Beispielen sieht man, wie die Projektion (Ausblenden von Spalten) und die Selektion (Ausblenden von Zeilen) umgesetzt werden. Zwei Anfragen, die Verknüpfungen benutzen, und Beispielelemente verwenden:

Kunden mit Bestellung
KUNDE kdnr kname adresse ort
P. _kdnr
AUFTRAG auftragsnr kdnr warennr menge
_kdnr

Das nächste Beispiel zeigt die Verwendung negierter Zeilen:

Waren ohne Bestellung
WARE warennr wname wpreis
P. _warennr
AUFTRAG auftragsnr kdnr warennr menge
¬ _warennr

Das Kreuzprodukt zweier Relationen würde man wie folgt bilden:

Einträge in Tabellengerüste
WARE warennr wname wpreis
_warennr _wname _wpreis
AUFTRAG auftragsnr kdnr warennr menge
_auftragsnr _kdnr _warennr2 _menge
Neues Tabellengerüst W × A
W × A warennr wname wpreis auftragsnr kdnr warennr menge
P. _warennr _wname _wpreis _auftragsnr _kdnr _warennr2 _menge

Für die Umsetzung der Mengenoperationen der relationalen Algebra sind mehrere Anweisungen notwendig. Hätte man zwei Relationen mit dem KUNDEN-Schema, KUNDE und BETRÜGER, könnte man alle möglichen AUFTRAGGEBER durch eine Vereinigung der beiden Relationen erhalten. Dies ist nur mit zwei Operationen möglich, nicht mit einer einzigen:

KUNDE kdnr kname adresse ort
_kdnr _kname _adresse _ort
Neues Tabellengerüst
AUFTRAGGEBER kdnr kname adresse ort
I. _kdnr _kname _adresse _ort

Es werden zuerst die Werte der KUNDE-Relation in eine neue Relation eingefügt. Danach, in einer zweiten Operation, kommen die BETRÜGER dazu:

BETRÜGER kdnr kname adresse ort
_kdnr _kname _adresse _ort
AUFTRAGGEBER kdnr kname adresse ort
I. _kdnr _kname _adresse _ort

Die neue Relation enthält jetzt KUNDE ∪ BETRÜGER.

Weblinks

  • Query by Example. www.cs.wisc.edu, abgerufen am 15. Oktober 2011 (pdf, englisch).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Query by Example — (QBE) is a database query language for relational databases. It was devised by Moshè M. Zloof at IBM Research during the mid 1970s, in parallel to the development of SQL. It is the first graphical query language, using visual tables where the… …   Wikipedia

  • Query by Example — Query by Example,   QBE …   Universal-Lexikon

  • Query By Example — L interface QBE de Kexi Query By Example (abr. QBE, en français interrogation par l exemple), est un type d interface utilisateur servant à effectuer des recherches dans des bases de données relationnelles. Le principe d une interface QBE est que …   Wikipédia en Français

  • Query By Example —    (QBE)    A data base front end that requests the user to supply an example of the type of data to be retrieved …   IT glossary of terms, acronyms and abbreviations

  • Microsoft Query by Example — (QBE) is a method of creating database queries using examples based on a text string, the name of a document or a list of documents. The QBE system converts the user input into a formal database query. This approach allows the user to perform… …   Wikipedia

  • Query by humming — (QbH) is a music retrieval system that branches off the original classification systems of title, artist, composer, and genre. It normally applies to songs or other music with a distinct single theme or melody. The system involves taking a user… …   Wikipedia

  • query language — ▪ computer science       a computer programming language used to retrieve information from a database.       The uses of databases are manifold. They provide a means of retrieving records or parts of records and performing various calculations… …   Universalium

  • Example — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Pour les articles homonymes, voir Exemple. Example est un rappeur britannique. .example est un domaine de premier niveau réservé. Example.com …   Wikipédia en Français

  • Query optimization — is a function of many relational database management systems in which multiple query plans for satisfying a query are examined and a good query plan is identified. This may or not be the absolute best strategy because there are many ways of doing …   Wikipedia

  • Query flooding — is a method to search for a resource on a P2P network. It is simple but scales very poorly and thus is rarely used. Early versions of the Gnutella protocol operated by query flooding; newer versions use more efficient search algorithms.OperationA …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”