erarbeitung der formulierung von sql-abfragen über...

12
Zentrum für schulpraktische Lehrerausbildung Bocholt Seminar für das Lehramt an Gymnasien und Gesamtschulen „Eine Tabelle macht noch keine relationale Datenbank!“ - Erarbeitung der Formulierung von SQL-Abfragen über mehrere Tabellen einer Datenbank Entwurf zum dritten Unterrichtsbesuch im Fach Informatik Ausbildungsschule: Städtisches Ganztagsgymnasium Nepomucenum Holtwicker Straße 8 48653 Coesfeld Datum: Mittwoch, 18.05.2016 Lerngruppe: Q1 Grundkurs Informatik Anzahl der SuS: 21 (15 Schüler, 6 Schülerinnen) Zeit, Raum: 5. Stunde (11:40 12:25 Uhr), Raum 235 Referendar: Julian Hundt Ausbildungslehrer: Ausbildungsbeauftragte(r): Schulleiterin: Fachleiter: Kernseminarleiter:

Upload: hamien

Post on 17-Sep-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

Zentrum für schulpraktische Lehrerausbildung Bocholt

Seminar für das Lehramt an Gymnasien und Gesamtschulen

„Eine Tabelle macht noch keine relationale Datenbank!“ -

Erarbeitung der Formulierung von SQL-Abfragen über

mehrere Tabellen einer Datenbank

Entwurf zum dritten Unterrichtsbesuch im Fach Informatik

Ausbildungsschule: Städtisches Ganztagsgymnasium Nepomucenum Holtwicker Straße 8 48653 Coesfeld Datum: Mittwoch, 18.05.2016

Lerngruppe: Q1 Grundkurs Informatik

Anzahl der SuS: 21 (15 Schüler, 6 Schülerinnen)

Zeit, Raum: 5. Stunde (11:40 – 12:25 Uhr), Raum 235

Referendar: Julian Hundt

Ausbildungslehrer:

Ausbildungsbeauftragte(r):

Schulleiterin:

Fachleiter:

Kernseminarleiter:

Page 2: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

1

1 Längerfristige Unterrichtszusammenhänge

1.1 Thema der Unterrichtsreihe „Eine Tabelle macht noch keine Datenbank!“ - Einführung in relationale Datenbanken

1.2 Schwerpunktlernziel der Unterrichtsreihe Die Schülerinnen und Schüler (kurz: SuS) erweitern ihre Fähigkeit im Bereich Datenbanken. Dies umfasst die Kenntnis wichtiger Fachbegriffe und ihre Anwendung bei der Analyse, Entwicklung oder Modifikation bestehender Datenbankmodellierungen. Insbesondere stellen sie Modellierungen mit Hilfe des Entity-Relationship-Diagramms (kurz: ER-Diagramm) dar. Weiterhin ermitteln die SuS Ergebnisse von Datenbankabfragen (Queries) über eine oder mehrere verknüpfte Tabellen mit Hilfe der Sprache SQL.

1.3 Lehrplanbezug

1.3.1 Schulinternes Curriculum [1] Im Grundkurs Informatik ist durch das schulinterne Curriculum der Bereich der relationalen Datenbanken vorgesehen. Dabei werden die Teilbereiche „Nutzung von relationalen Datenbanken“, „Modellierung“ sowie „Aspekte des Datenschutzes“ unterschieden. Ein Einstieg ist entweder theoretisch-modellbetont oder praktisch-abfrageorientiert möglich. Der zu erarbeitende Begriffsapparat liegt hauptsächlich im Bereich der Modellierung. Das Curriculum sieht vor mit Hilfe sich bewährter Beispieldatenbanken zu arbeiten und zum Abschluss der Unterrichtsreihe ein vertiefendes Beispiel heranzuziehen. Während sich in der Unterstufe im Wahlpflichtkurs Informatik eine hohe Handlungsorientierung mittels der Beispieldatenbank „videocenter“ erreichen lässt, eignet sich nach Absprache mit den Fachkollegen in der Oberstufe das Einrichten einer Beispieldatenbank mit Hilfe der Webanwendung phpmyadmin über die Softwaresammlung xampp.

1.3.2 Kernlehrplan (KLP GOSt [2]) Die Unterrichtsreihe ist in Anlehnung an den Kernlehrplan Informatik geplant. Die Schwerpunkte liegen dabei im Inhaltsfeld Daten und ihre Strukturierung sowie Algorithmen. Während die erste Unterrichtssequenz hauptsächlich die theoretisch-modellbetonten Bereiche von Datenbanken wie den Begriffsapparat um ER-Diagramme fokussiert, liegt das Augenmerk der zweiten Unterrichtssequenz auf den benötigten Algorithmen. Die SuS analysieren und erläutern die Syntax und Semantik einer Datenbankabfrage und vertiefen dabei ihre Kompetenzen im Bereich Argumentieren. Weiterhin verwenden sie die Syntax und Semantik einer Datenbankabfragesprache, um Informationen aus einem Datenbanksystem zu extrahieren. Auch das informatische Modellieren kontextbezogener Problemstellungen als Datenbanken mit dem ER -Modell wird geübt. Tabellarisch werden nun für die zweite Sequenz der Unterrichtsreihe die zu erwerbenden Kompetenzen, inhalts- bzw. prozessbezogen unterteilt, dargestellt:

Kompetenzerwartungen

Inhaltsbezogen Prozessbezogen Algorithmen: SuS kennen Algorithmen in ausgewählten informatischen Kontexten. Formale Sprachen und Automaten: SuS kennen die Syntax und Semantik einer Programmiersprache.

Argumentieren: SuS analysieren und erläutern der Syntax und Semantik einer Datenbankabfrage. Darstellen: SuS ermitteln Ergebnisse von Datenbankabfragen über mehrere verknüpfte Tabellen Implementieren: SuS verwenden die Syntax und Semantik einer Programmiersprache, um Informationen aus einem Datenbanksystem zu extrahieren.

Page 3: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

2

1.4 Einordnung der Unterrichtsstunde in den Kontext der Reihe

1. Sequenz

1. UE (Doppelstunde)

Einstieg in relationale Datenbanken: Fachbegriffe und ER-Modell

2. UE (Einzelstunde)

Relationales Modell – Überführen eines ER-Diagramms in Tabellen

3. UE (Doppelstunde)

„5 Szenarien relationaler Datenbanken“ – Kooperative Übung zum Modellieren einer Miniwelt mit Hilfe eines ER-Diagramms und Übersetzen in ein Relationenschema

4. UE (Einzelstunde)

Normalisieren von Tabellen als weitere Möglichkeit des Entwurfs relationaler Datenbankschemata

5. UE (Doppelstunde)

Übungen zum Normalisieren von Tabellen

2. Sequenz

1. UE (Einzelstunde)

SQL-Anfragen über eine Tabelle – Entdecken der SQL mittels praktischen Einsatzes einer MySQL-Datenbank

2. UE (Doppelstunde)

Vertiefende Übungen zu SQL-Abfragen und Aggregatfunktionen

3. UE (Einzelstunde)

„Eine Tabelle macht noch keine relationale Datenbank!“ –

Erarbeitung der Formulierung von SQL-Anfragen über

mehrere Tabellen einer Datenbank

4. UE (Doppelstunde)

„inner, left & outer join“ – Analyse der Syntax und Semantik der

Verknüpfungsarten zweier Tabellen

5. UE (Einzelstunde)

„Welche US-Präsidenten haben das Hobby Poker?“ –

Vertiefende Übungen zu SQL-Anfragen über mehrere Tabellen

Übungen mit Hilfe der Präsidenten-Datenbank

Page 4: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

3

2 Planung der Unterrichtsstunde

2.1 Bedingungsanalyse Der Grundkurs Informatik des Qualifizierungsbereichs Q1 besteht aus 15 Schülern und sechs Schülerinnen. Die drei Unterrichtsstunden verteilen sich auf eine montags stattfindende Doppelstunde und eine Einzelstunde am Mittwoch. Aufgrund der Seminarverpflichtung des LAA hat sich die Schwierigkeit ergeben, den Kurs an beiden Tagen zu besuchen. Aufgrund von Seminarausfällen war es dem LAA dennoch möglich, an zwei Montagen den Unterricht durchzuführen. Durch die genaue Abstimmung mit dem Ausbildungslehrer wurde eine intensive Kommunikation möglich und inhaltliche Brüche wurden so verhindert. Während der zu Beginn stattgefundenen Beobachtungen ist aufgefallen, dass die SuS im hohen Maße eigenverantwortlich arbeiten. Dieser Eindruck hat sich bei einem kooperativen Unterrichtsvorhaben bestätigt, bei dem der LAA die Gruppen zufällig gebildet hat. Vier Schüler des Kurses schreiben schriftliche Klausuren. In der Fachschaft gibt es die Vorgehensweise, dass abwechselnd SuS eine zusammenfassende Präsentation der Themen der vergangenen Woche halten. Zu diesem Ritual gehört auch ein anschließendes inhaltliches und methodisches Feedback durch die übrigen Schüler, das durch den Vortragenden moderiert wird. Aus zeitlichen Gründen wird dieses „Protokoll“ jedoch auf die Zeit der Doppelstunden verlegt.

2.2 Leitgedanken und Ziele der Stunde Die Unterrichtsstunde soll möglichst stark handlungsorientiert und schüleraktivierend angelegt sein. Daher soll das eigenständige Entdecken und Lösen der Problemstellung mittels praktischer Arbeit an der Beispieldatenbank im Vordergrund stehen. Die SuS können dabei selbst entscheiden, ob sie alleine oder mit einem/r PartnerIn die Aufgabenstellung bearbeiten. Diese Vorgehensweise hat sich in den vergangenen Unterrichtsstunden bewährt, wenngleich die SuS auch in zufällig zusammengesetzten Gruppen zielführend arbeiten. Der Grundgedanke der Planung besteht in einem Wechsel aus Dekonstruktion und Konstruktion. Bei der Dekonstruktion werden gegebene SQL-Abfragen im Hinblick auf ihr erzeugtes Ergebnis analysiert. Hierbei sollen die SuS das kartesische Produkt zweier Tabellen verstehen und erfahren, dass dabei vorhandene Beziehungen zwischen den Tabellen nicht berücksichtigt werden. In einem konstruktiven Schritt sollen die SuS dann mit Hilfe des aus den vorherigen Stunden erarbeiteten SQL-Bausteins der WHERE-Selektion die Abfrage geeignet erweitern. Der Problemkontext ist eine den SuS bereits bekannte Fehlstunden-Datenbank. Sie kennen bereits Abfragen auf dieser Datenbank über eine Tabelle, nicht aber über zwei in Beziehung stehende Tabellen. Der LAA hat den Arbeitsauftrag auf Arbeitsblättern vorbereitet. Diese wurden in zwei konsekutive Teile zerlegt, sodass während des Bearbeitens der Lernstand diagnostiziert werden kann. Zudem soll durch die Trennung die Problemlösestrategie des Vereinfachens verdeutlicht werden, da mit Beginn des zweiten Arbeitsblatts ein Kontextwechsel erfolgt. Der fachsprachlich korrekte Begriff des „natürlichen bzw. inneren joins“ steht in dieser Stunde noch nicht im Vordergrund – das Verständnis der zugrundeliegenden Idee ist hierbei wichtiger. Die weiteren Verknüpfungsarten (left/right/outer join) werden in der nächsten Unterrichtsstunde zum Gegenstand der Analyse. Die Schlüsselstelle zum Verständnis liegt bei dem Arbeitsauftrag (5): Hier wird vom Prinzip des Verständnisses durch Rekonstruktion abgewichen, da die SuS ihr Vorwissen (Kenntnis

Page 5: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

4

des WHERE-Bausteins zur Selektion bestimmter Datensätze) konstruktiv anwenden sollen. Für schwächere SuS stehen entsprechende Hilfen bereit (siehe 3.4.2).

2.2.1 Unterrichtsgegenstand SQL - Abfragen über mehrere in Beziehung stehende Tabellen

2.2.2 Thema „Eine Tabelle macht noch keine relationale Datenbank!“ – Erarbeitung der Formulierung von SQL-Anfragen über mehrere Tabellen einer Datenbank

2.2.3 Schwerpunktlernziel Die SuS erweitern ihre Fähigkeit im Bereich Argumentieren und Darstellen, indem sie die Syntax und Semantik einer Datenbankabfrage über zwei verknüpfte Tabellen erläutern und anwenden.

2.2.4 Stundeneinstieg Der LAA hat sich für einen problementfaltenden und möglichst kurzen informierenden Einstieg entschieden [5]. Der Einstieg beginnt mit der den SuS bekannten Fehlstunden-Datenbank mit einer Tabelle. Eine einfache Abfrage über diese Tabelle zu gegebener Fragestellung soll die SuS „warmmachen“, motivieren und bildet die Vernetzung zur vorangegangenen Unterrichtsstunde. Das Problem der Stunde wird durch Normalisierung der Datenbankstruktur gewonnen, da nunmehr eine Abfrage über zwei Tabellen nötig ist. Nach Möglichkeit sollen die SuS dieses Problem selbst formulieren, um eine hohe Transparenz über die Zielsetzung der Stunde zu schaffen. Zur Verdeutlichung des Stundenziels findet sich dieses jedoch auch auf den Arbeitsblättern. Um darüber hinaus eine methodische Klarheit zu erreichen, erläutert der LAA anschließend den geplanten Ablauf der Stunde aus einer überfachlichen Sichtweise („Metaebene des Problemlösens“). Insgesamt soll der Einstieg funktionell im Hinblick auf eine starke methodische und inhaltliche Klarheit des Unterrichtsgeschehens sein und an die Lerninhalte des vergangenen Unterrichts anknüpfen.

Page 6: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

5

2.3 Planung des Stundenverlaufs

Name: Julian Hundt Lerngruppe: Q1 GK Informatik Datum: 18.05.2016

11:40 – 12:25

STUNDENTHEMA: „Eine Tabelle macht noch keine relationale Datenbank!“ – Erarbeitung der Formulierung von SQL-Anfragen über mehrere Tabellen einer Datenbank

ZIEL: Die SuS erweitern ihre Fähigkeit im Bereich Argumentieren und Darstellen, indem sie die Syntax und Semantik einer Datenbankabfrage über zwei verknüpfte Tabellen erläutern und anwenden.

Phasen Unterrichtsgeschehen Did. /Meth. Kommentar Sozialform

Medien

Organisation Begrüßung

Einstieg Aktivierung von Vorwissen Ankommen im Lernkontext

L.: „In den letzten U-Stunden habt ihr viele SQL-Anfragen über eine Tabelle entwickelt.“

L. zeigt Datenbankstruktur – SuS wiederholen Abfrage über eine Tabelle

o SELECT Name, Vorname, Datum, entschuldigt FROM protokoll

L. zeigt normalisierte DB-Struktur mit gleicher Fragestellung – Impuls: „Beschreibt, was nun anders ist – gibt es ein Problem?“

o Schüler / Lehrer deutet auf das Ziel der Stunde: „Wie entwickelt man Abfragen über zwei Tabellen?“

L. zeigt den Ablauf und erklärt Methodik o zwei kleine ABs (zunächst das

erste) o Arbeit in EA oder PA (max. 2 SuS) o Zeitlimit setzen

L. erkundigt sich nach Rückfragen

Problementfaltung. Informierender Einstieg schafft inhaltliche und methodische Klarheit. Training des Problemlösens: Meta-Wissen aktivieren: Probleme zunächst vereinfachen bzw. anhand eines kleineren Beispiels verstehen und lösen. Anschließend Transfer auf das ursprüngliche Problem.

LV / UG

ActiveBoard (AcB) – Folie: „Problemstellung“ AcB-Folie: „Stundenablauf“

Erarbeitung Erkundung und Entdeckung des Problems

SuS bearbeiten AB1 / AB2 L. diagnostiziert und unterstützt individuell

Hoher Grad an SuS-Aktivität durch handlungsorientierten Zugang. Möglichkeit des eigenständigen oder kooperativen Lernens. Problemverständnis durch Dekonstruktion und Konstruktion.

EA / PA

AB1 / AB2 Apache-Webserver, mySQL-Datenbank

Page 7: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

6

2.4 Hausaufgaben Die SuS nutzen ihre erworbene Kompetenz, indem sie eine Abfrage über drei miteinander in Beziehung stehende Tabellen entwerfen sollen. Zusätzlich wird noch die Hausaufgabe eines vergangenen Arbeitsblatts erteilt, bei dem sich die SuS mit dem Begriff der Anomalien vertraut und an einem eigens gewählten Beispiel erläutern sollen. Dieses soll zu Vernetzungen zur Unterrichtsstunde führen und die Sinnhaftigkeit der Normalisierung verdeutlichen.

Binnendifferenzierung nach „oben und unten“ durch Hilfekarten und Sprinteraufgaben.

Sicherung Diskussion, Wertung (ggf. Reflexion) des Gelernten

12:25

L. bittet zur gemeinsamen Diskussion und wählt wichtige Aspekte zur fachlichen Sicherung aus. Einzelne SuS(-Teams) stellen ihre Arbeitsergebnisse vor, die nun gewertet und beurteilt werden:

o Kartesisches Produkt (4) o Lösung des Ausgangsproblems (6)

L. erkundigt sich nach offenen Fragen oder Fehlern, die bei der Arbeit aufgetreten sind

o L.: „Versucht zunächst allein, den Lückentext auszufüllen.“

o Gemeinsamer Austausch L. teilt die Hausaufgabe aus und schließt die

Stunde.

Rückzug des Lehrers (Trainingsziel) – Moderation an SuS abgeben Ggf. können beobachtete Fehler / Ungenauigkeiten aufgegriffen werden. Auswertung des Stundenergebnisses hinsichtlich der Zielsetzung mit den SuS. Diagnose: SPLZ („anwenden“) erreicht? Aktive Beteiligung durch Lückentext – inhaltlich und fachsprachlich korrektes Festhalten der zentralen Erkenntnisse. Diagnose: SPLZ („erläutern“) erreicht? (did. Reserve: Vertiefung des Gelernten bzw. Beginn des Hausaufgabe)

UG AcB-Folien „Kartesisches Produkt“, „Problemlösung“, „Abfrage über zwei Tabellen“

Page 8: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

i

3 Anhang

3.1 Quellen [1]: Schulinternes Curriculum Informatik für die gymnasiale Oberstufe [2]: Kernlehrplan für die gymnasiale Oberstufe in NRW [3]: Structured Query Language – Fortbildungsmaterial von D. Garmann, Internetquelle: www.projekte.gymnasium-odenthal.de/informatik/ (Zugriff am 30.04.2016) [4]: Präsentation zu SQL, D. Riehle, Internetquelle: www.projekte.gymnasium-odenthal.de/informatik/ (Zugriff am 30.04.2016) [5]: Unterrichtseinstiege für den Informatikunterricht – Reader: Interne Seminarfortbildung (ZfsL Bocholt, 2016)

3.2 Verwendete Software XAMPP Lite: Zusammenstellung freier Software (inkl. Apache Webserver, portable Version), im Internet verfügbar unter: https://www.apachefriends.org/de/index.html phpMyAdmin: freie Webanwendung zur Administration von MySQL-Datenbanken, enthalten in XAMPP Beispieldatenbanken: Fehlstunden-Datenbank und Postleitzahlen-DB

Page 9: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

ii

3.3 Übersicht geplanter ActivBoard-Folien

Page 10: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

iii

3.4 Ergänzendes Material

3.4.1 Zusatzaufgaben Eine Förderung der starken SuS wird durch in den Aufgabenstellungen enthaltene Sprinteraufgaben berücksichtigt. Diese bestehen aus einer Aufgabe zur Reflexion (Metaebene) und einer vertiefenden Aufgabe mit einer Abfrage über drei in Beziehung stehenden Tabellen. Die dritte Aufgabe ist besonders anspruchsvoll und erfordert zunächst eine Gruppierung der Datensätze. Während die möglichen Ergebnisse der Reflexionsaufgabe in der Sicherungsphase in das Unterrichtsgespräch integriert werden können, soll die vertiefende Aufgabe später Hausaufgabe für alle SuS sein.

3.5 Arbeitsmaterialien

3.5.1 Arbeitsaufträge

Page 11: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

iv

Page 12: Erarbeitung der Formulierung von SQL-Abfragen über …schulinformatik.info/wp-content/uploads/2016/01/UB_Hundt_2016_05... · Einstieg in relationale Datenbanken: Fachbegriffe und

v

3.5.2 Tippkarten Die Tipps werden so eine DIN-A5-Seite gedruckt, dass immer nur ein Tipp nach dem anderen sichtbar ist. Mit Hilfe dieser Stufung können die SuS den Grad ihrer Unterstützung selbst bestimmen.

3.6 Antizipierte Schülerlösungen der Arbeitsmaterialien

(1) Boris Becker hat die ID 1 und taucht in der Tabelle fehlt viermal auf. (2) Es werden zu viele Datensätze angezeigt. Boris Becker taucht viel häufiger auf. (3) (4) Jeder Datensatz aus der Tabelle kunden wird mit jedem Datensatz aus der Tabelle

orte kombiniert. Die Beziehungen zwischen den Tabellen werden zerstört / ignoriert. (5) WHERE postleitzahl = plz (6) … WHERE ID = IDPerson… (S1) SELECT vorname, name, entschuldigt, datum, thema from personen, fehlt, termine WHERE (ID = IDPerson AND fehlt.Datum = termine.Datum) (S2) Eine Abfrage über zwei Tabellen geschieht über das kartesische Produkt und einer WHERE-Bedingung, welche die Datensätze auf die sinnvollen begrenzt, die sich durch Gleichheit der Fremd- und Primärschlüssel auszeichnen (weitere Formulierungen möglich!). (S3) SELECT vorname, name, count(stunden) FROM personen, fehlt, termine

WHERE ID = IDPerson AND fehlt.datum = termine.datum GROUP BY ID