Datenbank Handouts
Das Datenbankthema erstreckt sich von der 11. bis zur 12. Klasse (hier nur die Anwendungsentwickler). Das SQL Syntax Handout
und die SQL SELECT Übungen setzen auf meiner
Übungsdatenbank
auf.
Gesamtüberblick SQL Syntax
Für SQL habe ich ein Dokument verfasst, was alle SQL-Relevanten Informationen für die 11. und 12. Klasse Anwendungsentwickler abdeckt.
Sämtliche "SELECT" Statements in diesem Dokument funktionieren auf der
Übungsdatenbank.

SELECT Übungen
Sämtlichen Aufgaben in dieser Rubrik beziehen sich auf die
Übungsdatenbank.
Hier geht es um einfache Select Übungen auf einer Tabelle.
Umgang mit den Aggregatsfunktionen, GROUP BY und HAVING.
Joins über mehrere Tabellen.
Unterabfragen, bzw. Subselects werden hier behandelt. Da die Nachfrage bei diesem Thema recht groß war, habe ich
ein zweites
Übungsdokument
verfasst.
Erstellung und Nutzung von Views.

SQL Statements
Grundstruktur des CREATE Table Statements inklusive der wesentlichen Datentypen und Zusatzeigenschaften wie Nullable, Primary bzw. Foreign
Key.
Daten einfügen, verändern und löschen (also INSERT, UPDATE (und REPLACE) und DELETE).
Die 5 wichtigsten Aggregatsfunktionen (COUNT, SUM, MIN, MAX, AVG).
Gruppenbildung - auch im Zusammenhang mit den Aggregatsfunktionen.
Verknüpfung von Tabellen mit inner und outer Join.
Erzeugung von Indizes und Klärung, warum dadurch die Performance verbessert wird.
Syntax zur Erstellung von Views und die Einordnung in ein Architekturkonzept.
Performancegewinn durch Caching von SELECT Ergebnissen in temporären Tabellen.
Das ALTER TABLE Statement und das zu erwartende Verhalten bei Typänderungen von Spalten mit Dateninhalten.

Datenmodellierung
Erstellung eines ER-Diagramms inklusive Bestimmung der Kardinalitäten.
Hier wird der Weg vom ER-Diagramm zum Datenmodell behandelt, inklusive Relationsschema.
Normalisierung eines Datenmodells bedeutet, dass es redundanzfrei gemacht werden soll. Wir gehen hier bis zur 3. Normalform.

Sonstiges
Für die UNION Übung beim PHP Zugriff bekommen die Schüler ein (fehlerhaftes) PHP Skript, welches SQL-Injection erlaubt. Mit Hilfe dieses
Dokuements können wir nachvollziehen, wie wir mit diesem problematischen PHP Skript und den Kenntnissen über die Systemtabellen die Userdaten
herausfinden können.

Sämtliche Inhalte stelle ich hier unter der Creative Commons Lizenz "BY NC SA" Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen Lizenz zur Verfügung.
CC Lizenz (BY NC SA)