Query by Example (häufig mit QBE abgekürzt) ist eine Datenbankabfragesprache bzw. ein visuelles Bedienkonzept für relationale Datenbanken. Es wurde in den 1970er Jahren bei IBM entwickelt (besonders bekannt durch die Arbeiten von Moshé Zloof) und entstand parallel zur Entwicklung von SQL. QBE richtet sich an Gelegenheitsanwender und Personen, die ohne Einarbeitung in eine textuelle Abfragesprache komplexe Auswertungen erstellen wollen.

Funktionsprinzip

Bei Query by Example wird dem Benutzer ein visuelles Schema der Datenbank (Tabellen und Spalten) präsentiert, das er mit einem speziellen Editor bearbeitet. Typisch ist eine tabellarische oder rasterartige Darstellung, in der Spaltenattribute und spezielle Zeilen für Auswahlkriterien, Ausgabe- und Sortiervorgaben sichtbar sind. Der Anwender füllt die Felder aus, setzt Filterbedingungen, wählt Spalten für die Ausgabe aus oder verwendet Platzhalter und Vergleichsoperatoren. Ein Parser oder Übersetzer wandelt diese Einträge anschließend automatisch in eine formale Abfrage in einer Standard-Abfragesprache (z. B. SQL) um, die hinter den Kulissen ausgeführt wird.

Durch dieses Vorgehen muss sich der Benutzer die Syntax einer Abfragesprache nicht merken; Tabellen und Spalten lassen sich per Mausklick auswählen, Bedingungen grafisch definieren und Ausgaben direkt sichtbar konfigurieren. Das beschleunigt die Erstellung typischer Abfragen und reduziert Tippfehler oder syntaktische Fehler.

Ein kurzes Beispiel

Angenommen, es gibt eine Tabelle Kunden mit den Spalten Name, Stadt und Alter. In der QBE-Oberfläche trägt der Benutzer unter Stadt den Wert Berlin ein und markiert Name zur Ausgabe. Der Übersetzer erzeugt daraus in der Regel eine SQL-Abfrage wie:

SELECT Name FROM Kunden WHERE Stadt = 'Berlin';

Für komplexere Anforderungen (Mehrtabellenabfragen, Aggregationen, Gruppierungen oder Sortierungen) füllen Anwender zusätzliche Zeilen bzw. nutzen grafische Elemente, die vom QBE-Editor in JOIN-, GROUP BY- oder ORDER BY-Konstrukte übersetzt werden.

Vor- und Nachteile

  • Vorteile: Geringe Einstiegshürde, intuitives Arbeiten, schnelle Ergebniserstellung für Standardauswertungen, geeignet für Gelegenheitsanwender und Prototyping.
  • Nachteile: Manche QBE-Implementierungen sind in ihrer Ausdruckskraft eingeschränkt (z. B. bei sehr komplexen Subabfragen, Fensterfunktionen oder speziellen Optimierungen). Außerdem können versteckte Übersetzungsregeln Performance-Auswirkungen haben, die dem Benutzer nicht unmittelbar bewusst sind. Reproduzierbarkeit und Versionskontrolle von Abfragen sind oft weniger bequem als bei schriftlichen SQL-Skripten.

Anwendungen und moderne Implementierungen

Viele Desktop- und Web-Datenbankwerkzeuge sowie Business-Intelligence-Frontends bieten heute QBE-ähnliche grafische Abfrageeditoren. Berühmte Beispiele historisch und praktisch sind der Query-Designer in Microsoft Access oder zahlreiche grafische Query-Builder in Datenbank-Clients und Reporting-Tools. Diese Oberflächen wurden stark von QBE beeinflusst und haben das Ziel, Datenbankabfragen für eine breitere Anwendergruppe zugänglich zu machen.

QBE in der Informationsbeschaffung

Im Kontext der Informationsbeschaffung (Information Retrieval) hat der Begriff QBE eine leicht abgewandelte Bedeutung: Der Benutzer reicht ein Dokument oder ein Beispielobjekt ein und bittet das System, "ähnliche" Dokumente aus einer Dokumentdatenbank zu finden. Diese Ähnlichkeitssuche beruht meist auf Vektordarstellungen (siehe Vektorraummodell) und Metriken wie Kosinus-Ähnlichkeit oder Distanzmaßen. QBE-ähnliche Verfahren werden in Empfehlungssystemen, der Volltextsuche und der forensischen Dokumentenanalyse eingesetzt.

Fazit

Query by Example hat die Bedienbarkeit von Datenbanksystemen entscheidend verbessert und viele grafische Abfragewerkzeuge inspiriert. Für Standardabfragen und Anwender ohne SQL-Kenntnisse ist QBE eine effiziente Lösung; für besonders komplexe oder performancekritische Auswertungen bleibt jedoch oft die direkte Arbeit mit einer textuellen Abfragesprache vorzuziehen.