SQL SELECT einfach lernen

29. Januar 2017 - Lesezeit: 6 Minuten

SQL als Sprache zum Kommunizieren zu lernen kann Spaß machen! Hier wird beschrieben, wie sich die Schüler auf SQL konzentrieren können, ohne eine Produktschulung zu benötigen und wie Schüler in ihrer Lebenswirklichkeit eine Datenbank erkunden können. Es werden Pokémon gesucht! Gerade durch Pokémon Go mit geeigneter Visualisierung entsteht hier eine ungeahnte Dyamik im Informatikunterricht.

Didaktisch, Methodische Betrachtung

In Sachsen wird im Rahmen des Profilunterrichtes das Thema Datenbanken behandelt. Oft kann dies nicht an den Lernbereich Astronomie angeschlossen werden, sodass eine eigene Motivation notwendig ist.

Neben dem Inhalt der Datenbank sind die aus Sicht des Autors die meisten DBMS nicht für einen einfachen Einstieg in das Abfragen von Daten geeignet. So sind diese am Anfang eher eine Produktschulung. Es muss der Umgang mit der Oberfläche geübt werden. Teilweise werden Abfragen sogar über die Oberfläche zu Beginn zusammengeklickt.

Hier soll es darum gehen, dass Schüler unabhängig von einem konkreten Produkt SQL lernen. Dieses Wissen kann später auch in komplexere DBMS überführt werden.

Umsetzung

Unter apps.informatik.cc/sql sind zwei Datenbanken verlinkt:

  1. Pokémon und Bücher - einzelne Tabellen, für einfache SQL SELCT Anbfragen
  2. Schuldatenbank - mit Ausnahme eines Stundenplans vollständige Abbildung einer fiktiven Schule

In diesem Artikel wird das Konzept am Beispiel der Pokémon Tabelle dargestellt:

Image description

Der SQL-Editor erlaubt es sofort nach Aufruf der Seite SQL-SELECT-Befehle einzugeben. Das Eingabefeld bietet Syntax-Highlighting und mehrere Zeilen an. Die verfügbaren Tabellen werden unter den Ergebnissen angegeben. Das Ausführen der Abfrage geschicht über den zentral hervorgehobenen Button "Ausführen".

Je nach SQL-SELECT Abfrage wird die korrekte Tabelle angezeigt. Ausschließlich mit abgefragten Spalten und Zeilen. Die Datenbank ist als "read only" angebunden. DROP TABLE Befehle o.ä. sind somit nicht möglich.

Die Daten von Pokekon wurden mit freundlicher Genehmigung von Bisafans.de für den nicht kommerziellen Einsatz innerhalb von Schulen freigegeben. Die Tabelle umfasst 751 Pokemon. Die Edition Sonne und Mond ist noch nicht eingepflegt.

Hier finden Sie fertige Aufgaben für den Einsatz in Ihren Unterricht. Sollten Sie diese erweitern oder anpassen, würde ich mich freuen, wenn Sie ihre Aufgaben ebenfalls veröffentlichen würden.

Teilhaben

Einsatz im Unterricht

Lehrer können apps.informatik.cc/sql gern im Unterricht verwenden. Bitte informieren Sie mich über den geplanten Einsatz um die Serverauslastung im Blick zu behalten. Bisher wurde die Serverlast für 16 Schüler erfolgreich durchgeführt.

 

Verhalten bei langsamer Anbindung:

  • Ist das Schulnetzwerk zu langsam an das Internet angebunden, so werden bei mehreren hundert Ergebnissen teilweise die letzten nicht mehr ausgegeben. Die Gesamtanzahl wird aber weiterhin über den Ergebnissen angezeigt.
  • Das Syntax-Highlighting wird mit dem JavaScript CodeMirror realisiert. Dieser ist am Ende der Seite eingebunden. Dadurch werden zuerst die Ergebnisse geladen und anschließend das Syntax-Highlighting. Bei sehr langsamer Anbindung der Schulrechner wird der JavaScript u.U. dann nicht geladen. Das Eingabefeld ist dann ein normales Textfeld, welches ebenfalls Befehle absenden kann.

Weiterentwicklung

Sie haben Ideen und möchten das Konzept weiterentwickeln? Sprechen Sie mich an! Über neue Funktionen oder neue Datenbanken würde ich mich sehr freuen. Bei aktiver Weiterentwicklung erhalten Sie selbstverständlich Zugriff auf den Quelltext und können die Anwendung auch selbst hosten, wenn Sie möchten.

Datenbanken

Haben Sie die Rechte an fremden oder selbsterstellten Datensätzen die mit eingebunden werden könnten? Kontaktieren Sie mich und ich pflege ihre Daten gern ein.

Die Die Datenbanken sind SQLite Datenbanken. Ich kann Ihre Tabellen auch einpflegen, wenn Sie mir diese als Tabellenkalkulation (Excel, Base oder CSV) zur Verfügung stellen. Links werden automatisch zu klickbaren Links umgewandelt. Bilder sind nicht in der Datenbank enthalten. Für das Einbinden der Bilder muss ein relativer oder absoluter Link bzw. Pfad auf diese verweisen. Haben die Bilder die Dateiendung jpg, jpeg, png oder gif, so wird das Bild in der Ausgabe generiert.

Programmierung

Die Anwendung ist mit PHP realisiert und bindet SQLite Datenbanken ein. Es werden keine Frameworks verwendet.

Ich spiele im Moment mit dem Gedanken, den Editor mit Laravel auf neue Beine zu setzen und die Ergebnisse über eine Hash-Summe mit der geforderten Aufgabe zu validieren.

[UPDATE]

SQL-Editor ist jetzt auf Laravel-Basis in friendzone und eule27.de integriert. friendzone nutzt laravel-table. eule27.de kontrolliert das Ergebnis aufgrund der Hash-Summe selbstständig.

Über

Material und Anregungen für den Informatikunterricht.