Query by Example (normalt forkortet QBE) er et databaseforespørgselssprog og en visuel metode til at lave forespørgsler på relationelle databaser. QBE blev udviklet hos IBM i 1970'erne af bl.a. Moshé M. Zloof som et alternativ til tekstbaserede sprog, så som SQL. Udviklingen af QBE foregik parallelt med udviklingen af SQL. Tanken var at give lejlighedsvise eller ikke-specialiserede brugere et intuitivt, grafisk værktøj, så de kunne bygge forespørgsler uden at skulle lære alt syntaksen i et traditionelt forespørgselssprog.

Hvordan QBE virker

I QBE præsenteres brugeren for et visuelt skema eller skabelon, der repræsenterer tabeller og kolonner i databasen. Brugeren udfylder eller redigerer felter i denne skabelon ved hjælp af en særlig editor—typisk ved at skrive søgekriterier, markere kolonner til output eller vælge sorterings- og grupperingsmuligheder. En intern parser eller oversætter konverterer derefter brugerens handlinger til en korrekt formuleret forespørgsel i et underliggende sprog (f.eks. SQL), og det er denne forespørgsel, der udføres på databasen.

Typiske funktioner i en QBE-editor omfatter:

  • valget af tabeller og kolonner ved klik i stedet for at skrive navne,
  • indtastning af betingelser (f.eks. værdier, intervaller eller mønstre),
  • angivelse af hvilke kolonner der skal vises i output,
  • mulighed for at sammenkæde tabeller (joins) og lave gruppering eller aggregering,
  • sortering og begrænsning af antal rækker.

Anvendelser

QBE er især velegnet til:

  • brugere uden dyb databaseekspertise, der hurtigt skal lave rapporter eller søgninger,
  • interaktive administrations- og rapporteringsværktøjer, hvor visuel opbygning af forespørgsler øger produktiviteten,
  • uddannelse og demonstrationssituationer, hvor man vil forklare relationelle forespørgsler uden tung syntaks.

Fordele og ulemper

Fordele:

  • Lav indlæringskurve for ikke-tekniske brugere.
  • Mindre risiko for syntaksfejl, da systemet genererer den egentlige forespørgsel.
  • Hurtigere opbygning af simple og moderate forespørgsler via klik og udfyldning.

Ulemper:

  • Visuelle værktøjer kan skjule kompleksiteten og gøre det sværere at optimere meget komplekse forespørgsler.
  • Nogle avancerede operationer eller optimeringsstrategier kan være svære eller umulige at udtrykke i en simpel QBE-editor.
  • Forskellige implementeringer varierer i funktionalitet og udtryk, hvilket kan begrænse portabiliteten.

QBE i informationssøgning

I forbindelse med informationssøgning bruges betegnelsen "query by example" også i en noget anden betydning: brugeren afleverer et eksempel (fx et dokument eller en forespørgselseksempel) og beder systemet om at finde "lignende" dokumenter i en database. Denne form for lighedssøgning bygger ofte på vektorrumsmodellen og sammenligning af dokumentvektorer (se Vektorrumsmodel) frem for skemabaserede betingelser som i relationelle QBE-værktøjer.

Moderne implementeringer og relevans i dag

I dag er mange databasesystemers grafiske front-ends og query-designere inspireret af QBE-idéen. Eksempler er visuelle forespørgselsbyggere i kontorpakker og business intelligence-værktøjer, webbaserede administrationsgrænseflader og rapportdesignere, hvor brugere kan trække tabeller ind, vælge felter og angive betingelser uden at skrive SQL direkte. QBE-konceptet har dermed haft stor indflydelse på, hvordan man designer brugervenlige databaseværktøjer, selvom professionelle ofte skifter til direkte SQL eller andre specialiserede værktøjer ved komplekse behov.