SQLverine – wie aus einer Idee ein Werkzeug für den Informatikunterricht wurde

Manche Projekte entstehen nicht nach einem großen Plan, sondern aus einem konkreten Problem, einer gemeinsamen Idee und der Lust, etwas auszuprobieren. Bei SQLverine war das ziemlich genau so.

Die ersten Überlegungen dazu entstanden während der Corona-Zeit. Persönliche Treffen waren schwierig oder gar nicht möglich, Videokonferenzen dagegen plötzlich ganz selbstverständlich. Gemeinsam mit Richard Scheglmann begann ich damals, über Videokonferenzen Software zu entwickeln, Ideen auszutauschen und an einer Frage zu tüfteln, die unmittelbar aus dem Informatikunterricht kam:

Wie kann man Schülerinnen und Schülern SQL und relationale Datenbanken vermitteln, ohne dass am Anfang vor allem Syntaxfehler und technische Hürden im Weg stehen?

Erst die Logik, dann die Syntax

SQL eignet sich eigentlich hervorragend für den Informatikunterricht. Datenbanken sind aus unserer digitalen Welt kaum wegzudenken, Abfragen folgen einer nachvollziehbaren Logik und das Ergebnis einer korrekt formulierten Anfrage wird unmittelbar sichtbar.

Gerade für Einsteiger gibt es aber ein Problem: Ein vergessenes Zeichen, eine falsche Schreibweise oder ein kleiner Tippfehler – und schon funktioniert eine Abfrage nicht mehr. Wer SQL beherrscht, findet solche Fehler meist schnell. Für Schülerinnen und Schüler, die gleichzeitig noch verstehen sollen, was SELECT, WHERE, ORDER BY oder später Gruppierungen und Verknüpfungen eigentlich bewirken, kann die Syntax jedoch schnell zum eigentlichen Hindernis werden.

Unsere Grundidee war deshalb einfach: Warum nicht zunächst die Logik einer SQL-Abfrage in den Mittelpunkt stellen und die Syntax ein Stück weit in den Hintergrund rücken?

Die Inspiration dafür lag auf der Hand. Aus dem Programmierunterricht kannten wir bereits grafische, bausteinbasierte Systeme wie Scratch und Blockly. Warum also nicht einen ähnlichen Ansatz für SQL verwenden?

Aus dieser Idee entwickelte sich Schritt für Schritt SQLverine.

SQL-Abfragen aus Bausteinen

Statt jede Abfrage von Anfang an vollständig als Text eingeben zu müssen, können die einzelnen Bestandteile einer SQL-Abfrage in SQLverine zunächst aus Bausteinen zusammengesetzt werden. Die Struktur einer Abfrage wird dadurch sichtbar und typische Syntaxfehler können gar nicht erst entstehen.

Dabei geht es ausdrücklich nicht darum, SQL dauerhaft durch eine grafische Oberfläche zu ersetzen. Die Bausteine sollen vielmehr den Einstieg erleichtern. Schülerinnen und Schüler können zunächst verstehen, wie eine Abfrage aufgebaut ist und warum sie ein bestimmtes Ergebnis liefert, bevor die korrekte Schreibweise vollständig in den Vordergrund rückt.

Damit entstand nach und nach eine Lernumgebung, die möglichst unkompliziert funktionieren sollte: direkt im Browser, ohne aufwendige Installation und mit Datenbanken, die sich für unterschiedliche Unterrichtssituationen einsetzen lassen.

Im Laufe der Entwicklung kamen weitere Möglichkeiten hinzu. Heute besteht SQLverine aus mehreren aufeinander abgestimmten Bestandteilen:

  • Der browserbasierte Editor ermöglicht SQL-Abfragen mit grafischen Codebausteinen und arbeitet mit austauschbaren SQLite-Datenbanken.
  • Mit dem Autorenwerkzeug können Lehrkräfte eigene Datenbanken anlegen, Daten importieren und interaktive Aufgaben mit automatischem Feedback erstellen.
  • Eine schülergerechte Dokumentation erklärt die wichtigsten SQL-Befehle und verknüpft die Beispiele direkt mit dem Editor.
  • Vorbereitete Datenbanken und Aufgaben lassen sich unmittelbar im Unterricht einsetzen und bei Bedarf an eigene Lernsituationen anpassen.

Dadurch ist aus dem ursprünglichen Editor nach und nach eine vollständige Lernumgebung für den Einstieg in relationale Datenbanken und SQL entstanden.

Entlastung für die Lehrkraft

Ein zweiter Gedanke war uns bei der Entwicklung mindestens ebenso wichtig: SQLverine sollte nicht nur den Schülerinnen und Schülern den Einstieg erleichtern, sondern auch die Lehrkraft im Unterricht entlasten.

Gerade an Mittelschulen spielt das eine besondere Rolle. Ausgebildete Informatiklehrkräfte sind dort nach wie vor eine Seltenheit. Informatik wird deshalb häufig von Kolleginnen und Kollegen unterrichtet, die sich selbst intensiv in die jeweiligen Themengebiete einarbeiten.

Und wer schon einmal mit einer ganzen Klasse die ersten SQL-Abfragen geschrieben hat, kennt vermutlich die Situation: Bei zwanzig Schülerinnen und Schülern entstehen innerhalb weniger Minuten zwanzig unterschiedliche Probleme. Hier fehlt ein Komma, dort stimmt eine Klammer nicht, an anderer Stelle wurde ein Schlüsselwort falsch geschrieben. Eigentlich möchte man gerade erklären, wie eine Datenbankabfrage logisch funktioniert – stattdessen wandert man von Rechner zu Rechner und sucht Syntaxfehler.

Auch hier hilft der Bausteinansatz enorm. Viele dieser Fehler können zunächst überhaupt nicht entstehen. Die Schülerinnen und Schüler arbeiten selbstständiger und können sich stärker auf die eigentliche Aufgabenstellung konzentrieren. Gleichzeitig muss die Lehrkraft nicht bei jeder nicht funktionierenden Abfrage sofort zur individuellen Fehlersuche ansetzen.

Gerade für den Informatikunterricht an Mittelschulen war und ist das für uns ein zentraler Gedanke: ein Werkzeug zu schaffen, das guten Unterricht mit Datenbanken ermöglicht, ohne vorauszusetzen, dass vor jeder Klasse ein ausgebildeter Informatiklehrer steht.

Entwickelt – gemeinsam auf Distanz

Rückblickend gehört für mich auch die Art und Weise, wie SQLverine entstanden ist, zur Geschichte des Projekts.

Die Corona-Zeit hat vieles erschwert. Gleichzeitig wurden Formen der Zusammenarbeit selbstverständlich, die wir vorher deutlich seltener genutzt hatten. Ein großer Teil der Entwicklung von SQLverine fand tatsächlich gemeinsam per Videokonferenz statt.

Wir programmierten, diskutierten Ideen, probierten Dinge aus, verwarfen sie wieder und entwickelten die Plattform Stück für Stück weiter. Vieles entstand dabei nicht aufgrund eines vorher festgelegten Entwicklungsplans, sondern aus ganz praktischen Erfahrungen: Was funktioniert im Unterricht? Wo bleiben Schülerinnen und Schüler hängen? Was müsste einfacher sein? Und was braucht eine Lehrkraft, damit sie mit der Plattform vernünftig arbeiten kann?

SQLverine war deshalb von Anfang an kein theoretisches Softwareprojekt. Der Ausgangspunkt war immer der Unterricht.

Vom kleinen Projekt zum Werkzeug im Unterricht

Inzwischen begleitet uns SQLverine schon seit einigen Jahren. Und aus der ursprünglichen Idee ist etwas geworden, mit dem wir damals wahrscheinlich selbst nicht gerechnet hätten.

SQLverine wird längst nicht mehr nur von uns und in unserem unmittelbaren Umfeld verwendet. Gerade an bayerischen Mittelschulen hat die Plattform ihren Platz gefunden – insbesondere beim Thema Datenbanken und SQL in der 10. Jahrgangsstufe. Die Nutzung geht inzwischen aber auch deutlich darüber hinaus.

Für mich ist das bis heute einer der schönsten Aspekte des Projekts.

Aus gemeinsamen Videokonferenzen, einer Menge Programmcode und der Idee, ein konkretes Problem aus dem Informatikunterricht zu lösen, ist ein Werkzeug entstanden, das heute von Lehrkräften und Schülerinnen und Schülern genutzt wird, die wir zum großen Teil überhaupt nicht persönlich kennen.

Das ist wahrscheinlich auch das beste Review, das wir für unsere damalige Idee bekommen können.

Wir wollten SQL nicht vereinfachen, indem wir wesentliche Inhalte weglassen. Wir wollten den Einstieg einfacher machen, damit zunächst das Verständnis für Datenbanken und Abfragen entstehen kann und nicht die Fehlersuche im Vordergrund steht.

Dass SQLverine heute tatsächlich genau dafür eingesetzt wird, freut mich nach wie vor.

Und ein bisschen erstaunlich ist es auch, wenn man bedenkt, dass alles mit ein paar Videokonferenzen und der Frage angefangen hat:

„Das müsste doch eigentlich auch einfacher gehen.“

Weitere Informationen und natürlich SQLverine selbst gibt es unter sqlverine.org.

Austausch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert