Klasse 11 · 2. Halbjahr
Q2
Relationale Datenbanken: Schlüssel, SQL, Normalisierung und der Zugriff aus PHP.
Datenbanken
Datenbank 1
Was gehört in eine Datenbank?
Dreimal dasselbe Gemüse, dreimal eine andere Datenbank – je nachdem, ob ein Supermarkt, eine Oma oder ein Landwirt fragt.
Datenbank 2
Primärschlüssel bestimmen
Einfache und zusammengesetzte Primärschlüssel – und eine Tabelle, für die es schlicht keinen geeigneten gibt.
Datenbank 3
Fremdschlüssel bestimmen
Wie Tabellen zusammenhängen: Fahrzeuge und Marken, dann eine Kette aus vier Tabellen rund um Wurstsorten.
Datenbank 4
Relationenschreibweise
Sieben Tabellen einer Schuldatenbank notieren und die Schlüssel markieren – inklusive der Verknüpfungstabellen für n:m-Beziehungen.
Datenbank 5
Eltern- und Kindtabellen
Wer verweist auf wen – und warum eine Tabelle beides gleichzeitig sein kann. Plus ein Entwurfsfehler in der Vorlage.
Datenbank 6
SQL Lektion 1: SELECT und WHERE
Der Grundaufbau jeder Abfrage plus BETWEEN, LIKE, IN, IS NULL, DISTINCT, AS, ORDER BY und LIMIT.
Datenbank 7
SQL Lektion 2: Aggregatfunktionen
COUNT, SUM, AVG, MAX und MIN – und warum eine Aggregatfunktion in WHERE nichts zu suchen hat.
Datenbank 8
SQL Lektion 3: JOIN
Mehrere Tabellen zusammenführen – die wichtigste Lektion, weil dafür überhaupt Fremdschlüssel existieren.
Datenbank 9
SQL Lektion 4: GROUP BY und HAVING
Gruppenweise rechnen – plus drei Zusatzaufgaben, an denen man den Unterschied zwischen WHERE und HAVING wirklich versteht.
Datenbank 10
SQL Lektion 5: Unterabfragen
Ein SELECT im SELECT – der einzige Weg, mit einem berechneten Wert wie dem Durchschnitt zu vergleichen.
Datenbank 11
SQL Lektion 6: INSERT, UPDATE, DELETE
Daten schreiben statt lesen – und das vergessene WHERE, das die halbe Datenbank kostet.
Datenbank 12
Übung 7: Nordwind-Datenbank
Alles aus sechs Lektionen in einer Abfrage: welche Kategorie den meisten Umsatz gemacht hat.
Datenbank 13
Normalisierung: 1., 2. und 3. Normalform
Neun Aufgaben zu den ersten drei Normalformen – mit dem Merksatz, der alle drei auf einmal erklärt, und dem schnellsten Test für die Klausur.
Datenbank 14
Relationenalgebra
Sigma wählt Zeilen, Pi wählt Spalten – sechs Aufgaben am Flug-Datenmodell, inklusive der einen, für die man dieselbe Tabelle zweimal braucht.
Datenbank 15
PHP und PDO: die erste Ausgabe
Eine Webseite holt sich ihre Daten selbst aus der Datenbank – Verbindungsaufbau mit PDO und warum utf8 nicht optional ist.
Datenbank 16
Tabellarische Ausgabe
Alle Schüler als richtige HTML-Tabelle – Kopfzeile außerhalb der Schleife, Datenzeilen innerhalb.
Datenbank 17
Formulare: HTML und PHP
GET gegen POST, das $_POST-Array und eine Suchabfrage, die dank Prepared Statement nicht die ganze Tabelle verrät.
Datenbank 18
Ausgabe ohne assoziierte Arrays
Ein Programm, das jede beliebige Tabelle ausgeben kann, weil es die Spaltennamen gar nicht erst kennt.
Datenbank 19
Das Account-System
Registrierung, Login, geschützter Bereich und Accountverwaltung – mit gehashten Passwörtern, Sessions und überall Prepared Statements.
Datenbank 20
Datenschutz
Drei Rechtsfälle nach Schema gelöst – und der Unterschied zwischen Datenschutz und Datensicherheit, den man in einem Satz können muss.