Aktivität 01
Pair Programming: JOIN-Übungen
Paare erhalten ein Schul-Datenbankschema mit Tabellen für Schüler, Kurse und Noten. Sie schreiben schrittweise JOIN-Abfragen für spezifische Fragen, testen in einer Datenbankumgebung und vergleichen Ergebnisse. Abschließend präsentieren sie eine optimierte Variante.
Wie lassen sich Informationen über mehrere Tabellen hinweg effizient verknüpfen?
ModerationstippWährend der Pair Programming-Aufgabe darauf achten, dass beide Partner abwechselnd Code schreiben und Erklärungen geben, um Fehlkonzepte direkt zu erkennen.
Worauf zu achten istStellen Sie den Schülern eine einfache Datenbankstruktur (z.B. Kunden, Bestellungen) und eine Fragestellung (z.B. 'Zeige alle Kunden, die mehr als 5 Bestellungen getätigt haben'). Bitten Sie sie, eine SQL-Abfrage mit einer Subquery oder einem JOIN zu schreiben, um die Frage zu beantworten. Überprüfen Sie die Syntax und Logik der Abfrage.
AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 02
Small Groups: Subquery-Challenge
Gruppen modellieren ein Verkaufsszenario mit fünf Tabellen. Sie lösen Rätsel durch Subqueries, z. B. 'Finde Produkte mit Umsatz über Durchschnitt'. Jede Gruppe debuggt und misst Laufzeit, dann rotieren sie Lösungen.
Designen Sie komplexe SQL-Abfragen zur Beantwortung spezifischer Fragestellungen.
ModerationstippIn der Subquery-Challenge gezielt Gruppen mit unterschiedlichen Vorkenntnissen bilden, damit Erfahrungen ausgetauscht werden und alle gemeinsam Lösungen finden.
Worauf zu achten istGeben Sie den Schülern zwei unterschiedliche SQL-Abfragen, die dasselbe Ergebnis liefern, aber einmal einen JOIN und einmal eine Subquery verwenden. Lassen Sie sie die Abfragen analysieren und diskutieren: Welche Abfrage ist ihrer Meinung nach leichter zu lesen? Welche könnte performanter sein und warum? Welche Rolle spielt der EXPLAIN PLAN bei dieser Entscheidung?
AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 03
Whole Class: Performance-Vergleich
Die Klasse lädt gemeinsame Daten und vergleicht JOIN- vs. Subquery-Varianten mit Timer. Jeder Schüler schlägt Optimierungen vor, Ergebnisse werden im Plenum diskutiert und in einer Tabelle protokolliert.
Analysieren Sie die Performance-Auswirkungen von JOINs und Subqueries.
ModerationstippBeim Performance-Vergleich die EXPLAIN-PLAN-Ergebnisse der Schüler direkt auf dem Beamer zeigen und gemeinsam analysieren, warum JOINs oft effizienter sind.
Worauf zu achten istFragen Sie die Schüler: 'Beschreiben Sie in eigenen Worten den Unterschied zwischen einem INNER JOIN und einem LEFT JOIN.' und 'Nennen Sie ein Szenario, in dem eine Subquery nützlicher ist als ein einfacher JOIN.'
AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 04
Individual: Query-Optimierung
Jeder Schüler optimiert eine gegebene ineffiziente Abfrage mit INDEX und erklärt Änderungen. Sie testen gegen große Datensätze und dokumentieren Zeitersparnis in einem Log.
Wie lassen sich Informationen über mehrere Tabellen hinweg effizient verknüpfen?
ModerationstippBei der Query-Optimierung darauf hinweisen, dass Schüler ihre Abfragen nicht nur funktionsfähig, sondern auch für andere verständlich gestalten.
Worauf zu achten istStellen Sie den Schülern eine einfache Datenbankstruktur (z.B. Kunden, Bestellungen) und eine Fragestellung (z.B. 'Zeige alle Kunden, die mehr als 5 Bestellungen getätigt haben'). Bitten Sie sie, eine SQL-Abfrage mit einer Subquery oder einem JOIN zu schreiben, um die Frage zu beantworten. Überprüfen Sie die Syntax und Logik der Abfrage.
AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen→Einige Hinweise zum Unterrichten dieser Einheit
Erfahrene Lehrkräfte beginnen mit einfachen Beispielen, die sofort Ergebnisse liefern, um Motivation aufzubauen. Wichtig ist, dass Schüler selbst Fehler machen und diese analysieren, etwa durch bewusst falsche JOINs, die zu leeren Ergebnissen führen. Die Diskussion über Performance zeigt, dass SQL nicht nur Syntax, sondern auch Strategie ist. Vermeiden Sie zu frühe Theorie-Vorträge – stattdessen lieber Schritt-für-Schritt-Erklärungen im Kontext konkreter Aufgabenstellungen.
Am Ende dieses Hubs können Schülerinnen und Schüler INNER JOIN, LEFT JOIN und RIGHT JOIN gezielt einsetzen, um Daten aus mehreren Tabellen zu verknüpfen. Sie verstehen, wann Subqueries sinnvoll sind und können Abfragen nach Lesbarkeit und Performance bewerten. Die Diskussion über EXPLAIN PLAN zeigt, dass sie SQL nicht nur schreiben, sondern auch optimieren können.
Vorsicht vor diesen Fehlvorstellungen
Während der Pair Programming-Aufgabe beobachten Sie, dass einige Schüler glauben, JOINs erzeugen immer ein Cartesian Product.
Lassen Sie die Schüler in ihrer Paararbeit bewusst eine Abfrage ohne ON-Klausel ausführen, um das volle Cartesian Product zu sehen. Anschließend vergleichen sie dies mit korrekten JOINs, um den Zweck der Bedingung zu verstehen.
Während der Subquery-Challenge äußern Schüler, dass Subqueries immer performanter als JOINs sind.
Fordern Sie die Gruppen auf, ihre Abfragen mit EXPLAIN zu analysieren. Zeigen Sie gemeinsam, wie JOINs mit korrekten Indizes effizienter sein können, und diskutieren Sie Kontextabhängigkeit.
Während der Performance-Vergleich-Aktivität verwechseln Schüler LEFT JOIN und RIGHT JOIN.
Geben Sie den Gruppen asymmetrische Daten (z.B. eine Tabelle mit Kunden ohne Bestellungen) und lassen Sie sie bewusst LEFT JOIN und RIGHT JOIN ausprobieren, um die Unterschiede in den Ergebnissen zu sehen.
In dieser Übersicht verwendete Methoden