← KI & Unternehmensdaten

Datenbank mit KI abfragen

Datenbank mit KI abfragen – ohne eine Zeile SQL.

Zwischen „ich hätte eine Frage an unsere Daten“ und einer belastbaren Zahl liegen heute meistens ein Ticket, ein Entwickler und ein paar Tage. Dieser Weg beschreibt, wie aus derselben Frage direkt eine geprüfte, lesende Abfrage wird.

Kein generiertes SQL vom ModellNur lesender ZugriffAntwort mit Herleitung
Frage
Prüfung gegen Modell & Rollenrechte
Lesende Datenbankabfrage, erzeugt vom System
Antwort mit Herleitung

Das eigentliche Problem

Nicht die Abfrage ist schwer. Die Bedeutung ist es.

SQL zu schreiben ist für einen Entwickler Routine. Aufwendig ist der Schritt davor: herausfinden, in welcher Tabelle die Rechnung wirklich steht, welche der drei Datumsspalten gemeint ist, ob storniert über ein Kennzeichen oder über einen Statuswert abgebildet wird und was in diesem Haus als „offen“ gilt.

Diese Klärung passiert bei jeder neuen Frage erneut – meist im Gespräch zwischen Fachabteilung und Entwicklung. Sie ist der Grund, warum eine kurze Frage Tage braucht, und sie geht verloren, sobald der Report fertig ist.

Wird diese Klärung einmal maschinenlesbar hinterlegt, ist sie für jede weitere Frage schon getan.

Der Weg einer Frage

Von der Frage zur belegten Zahl – in drei Abschnitten.

Entscheidend ist der mittlere: Das Sprachmodell beschreibt, was es wissen will. Die Datenbankabfrage formuliert es nicht.

  1. 1

    Die Frage wird gestellt

    In natürlicher Sprache, in der eigenen Oberfläche oder in einer angebundenen KI-Anwendung. Keine Tabellennamen, keine Spalten, kein SQL – und keine Kenntnis Ihres Datenmodells nötig.

  2. 2

    Geprüft wird, bevor gelesen wird

    Was das Sprachmodell wissen will, wird gegen das beschriebene Fachmodell und gegen die Rechte der Rolle geprüft. Was dort nicht beschrieben oder für diese Rolle nicht freigegeben ist, kommt nicht zur Ausführung – ebenso wenig alles, was keine Leseoperation ist. Erst danach entsteht die Datenbankabfrage, und sie entsteht im System, nicht im Sprachmodell.

  3. 3

    Die Antwort trägt ihre Herleitung mit

    Zurück kommt nicht nur eine Zahl, sondern das vollständige Regelset mit fachlichen Definitionen, die aufgelösten Begriffe und Stichtage sowie die ausgeführte Abfrage im Wortlaut. Damit ist die Zahl nachrechenbar, statt geglaubt werden zu müssen.

Abgrenzung

Generiertes SQL und geprüfter Abfrageplan sind nicht dasselbe.

Beide Ansätze beginnen mit einer Frage in natürlicher Sprache. Sie unterscheiden sich darin, wer am Ende die Abfrage formuliert und wogegen sie geprüft wird.

Sprachmodell erzeugt SQL
Sprachmodell erzeugt einen Plan
Das Modell muss die Bedeutung der Tabellen erraten
Das Modell arbeitet nur mit beschriebenen Fachbegriffen
Fehlt ein Begriff, entsteht eine plausible falsche Abfrage
Fehlt ein Begriff, wird die Lücke benannt statt überdeckt
Das Modell braucht einen Datenbankzugang
Das Modell erhält keine Zugangsdaten und keine Verbindung
Prüfbar ist nur das Ergebnis-SQL, nicht die Absicht
Prüfbar vor der Ausführung: gegen Fachmodell und Rollenrechte
Schreibende Anweisungen sind technisch möglich
Nicht-lesende Zugriffe kommen nicht zur Ausführung

Beispiel

Eine Antwort, die man nachrechnen kann.

Eine Zahl ohne prüfbare Herkunft ist keine Entscheidungsgrundlage. Deshalb führt jede Antwort das komplette Regelset mit – nicht ausgewählte Auszüge, sondern jede Regel, die eingegangen ist.

Schematische Darstellung. Begriffe, Regeln und Werte sind Beispiele; in Ihrem System stehen dort Ihre eigenen Definitionen.

Antwort mit vollständiger Herleitung
Frage
Wie hoch war der offene Forderungsbestand am Quartalsende?
Antwort
Summe aller Rechnungen, die zum Stichtag als offen gelten.
KennzahlWert
Offener Bestand412.900 €
Betroffene Rechnungen38
Herkunft der Antwort
Begriffe
Rechnung, Zahlungseingang, Storno, Forderungsbestand – aufgelöst über das semantische Modell.
Stichtag
30.06. – Quartalsende, aus der Frage abgeleitet.
Angewandtes Regelset3 von 3
Rechnung gilt als offen
Gestellt, nicht storniert, Zahlungseingang kleiner als Rechnungsbetrag – bewertet zum Stichtag.
Teilzahlung
Zählt als offener Restbetrag, nicht als offene Rechnung. Reduziert den Bestand, nicht die Anzahl.
Stichtagsbewertung
Zahlungseingänge nach dem Stichtag bleiben unberücksichtigt, auch wenn sie heute vorliegen.
Ausgeführte Abfrage
SELECT SUM(r.betrag - COALESCE(z.gezahlt, 0)) AS offen,
       COUNT(*)                              AS anzahl
  FROM rechnung r
  LEFT JOIN zahlung_bis_stichtag z ON z.rechnung_id = r.id
 WHERE r.gestellt_am  <= DATE '2025-06-30'
   AND r.storniert     = false
   AND r.betrag        > COALESCE(z.gezahlt, 0)

Schwierige Fragen

Woran eine Auswertung tatsächlich scheitert.

Nicht an der Datenmenge. Sondern an vier Eigenschaften, die in echten Fragen fast immer zusammen auftreten.

  • Mehrere Zeiträume in einer Frage

    „Weniger als im Vorjahresquartal“ verlangt zwei Auswertungen und einen Vergleich. Beide Zeiträume müssen nach derselben Regel gebildet werden, sonst ist der Vergleich wertlos.

  • Mehrere Fachbereiche

    „Neukunden mit offenen Rechnungen“ verbindet Vertrieb und Buchhaltung. Die Verknüpfung ist selten eine einzelne Fremdschlüsselbeziehung, sondern eine fachliche Zuordnung.

  • Regeln, die in keiner Spalte stehen

    „Neukunde“, „offen“, „aktiver Vertrag“, „Stornoquote“: Solche Begriffe sind berechnet, nicht gespeichert. Ihre Definition liegt im Sourcecode – oder ausschließlich im Kopf eines Kollegen.

  • Historisierung und Stichtage

    Ein Datensatz, der heute gültig ist, war es zum Stichtag vielleicht nicht. Wer Historisierung ignoriert, bekommt Zahlen, die plausibel aussehen und rückblickend falsch sind.

Aktuelle Modelle arbeiten solche Fragen in Schritten ab, statt sie in einem Zug zu übersetzen. Genau das macht sie beantwortbar – vorausgesetzt, jeder Schritt läuft gegen ein beschriebenes Modell und nicht gegen eine Vermutung.

Grenzen

Was Sie von dieser Art Abfrage nicht erwarten sollten.

Es werden keine Daten geändert. Das System führt ausschließlich lesende Abfragen aus; ein Plan, der etwas anderes beschreibt, wird nicht übersetzt und nicht ausgeführt.

Es wird nicht auf gut Glück geantwortet. Fehlt ein Begriff oder eine Regel im Modell, wird das als Lücke benannt und als Pflegeauftrag ausgegeben, statt eine plausible Antwort zu erzeugen. Das heißt aber auch: Bei einer noch nicht beschriebenen Frage bekommen Sie zunächst keine Zahl, sondern einen Hinweis.

Und es ist keine Garantie für fachliche Richtigkeit. Erkannt wird, dass ein Begriff fehlt – nicht, dass ein vorhandener Begriff falsch beschrieben ist. Dagegen hilft nicht die Technik, sondern dass jede Antwort ihre Regeln offenlegt und Ihre Fachbereiche sie prüfen können.

Und es ist keine Prognose. Beantwortet wird, was in den Daten steht. Hochrechnungen und Vorhersagen sind eine andere Aufgabe und ausdrücklich nicht Teil dessen, was hier zugesagt wird.

Was Sie hier ebenfalls nicht finden: den inneren Aufbau der Prüfung. Diese Seite beschreibt, was gilt und was nicht – die Umsetzung dahinter gehört in ein technisches Gespräch unter NDA, konkret auf Ihre Umgebung bezogen.

Welche Fragen heute beantwortbar sind

Häufige Fragen

Fehlt Ihnen eine Frage? Ausführliche Antworten zu Betrieb und Datenzugriff stehen auf der Sicherheitsseite.

Müssen Anwender SQL oder das Datenmodell kennen?

Nein. Gefragt wird in fachlichen Begriffen – denselben, die in Ihrem Haus ohnehin benutzt werden. Tabellennamen, Spalten und Joins spielen für den Anwender keine Rolle.

Die ausgeführte Abfrage wird der Antwort trotzdem beigelegt. Nicht damit der Anwender sie liest, sondern damit jemand mit SQL-Kenntnissen die Zahl im Zweifel prüfen kann.

Was passiert, wenn eine Antwort fachlich falsch ist?

Dann ist in aller Regel eine Regel im semantischen Modell falsch beschrieben – und genau das ist prüfbar, weil jede Antwort ihr Regelset mitführt. Wer das Ergebnis anzweifelt, kann die Regel benennen, die er für falsch hält.

Nach der Korrektur ändert sich das Ergebnis überall gleichermaßen, also auch für jede vergleichbare Frage danach. Das ist der Unterschied zu einem korrigierten Report, der nur an einer Stelle richtig wird.

Kann die KI über eine Abfrage etwas verändern oder löschen?

Nein. Die Beschränkung liegt nicht in einer Anweisung an das Sprachmodell, sondern in der Architektur: Das Modell erzeugt die Datenbankabfrage nicht selbst. Was keine Leseoperation ist, kommt nicht zur Ausführung – unabhängig davon, was das Modell formuliert.

Eine Anweisung an ein Sprachmodell ist eine Bitte. Eine Prüfschicht, die nur Lesepläne übersetzt, ist eine Regel.

Wie lange dauert eine solche Abfrage?

Länger als ein fertiger Report und kürzer als ein neuer Report. Eine mehrstufige Frage bedeutet mehrere Denkschritte des Modells und mehrere Abfragen gegen die Datenbank.

Konkrete Laufzeiten hängen von Datenmenge, Schema und Frage ab. Belastbare Zahlen dazu gehören in die technische Sichtung Ihres Systems – nicht auf eine Website.

Verwandte Themen

Angrenzende Fragen, jeweils auf einer eigenen Seite beantwortet.

Der beste Test ist eine echte Frage aus Ihrem Haus. Bringen Sie eine mit, die heute niemand schnell beantworten kann.