Die in der Praxis vorkommenden relationalen Datenbanksprachen basieren zum großen Teil auf der Relationenalgebra. Dies bedeutet, dass die Operationen der Relationenalgebra vollständig abbildbar sind. Zusätzlich werden aus praktischen Erwägungen auch Operationen zum
- Definieren und Modifizieren,
- Bilden von MIN, MAX, SUM, AVG über Spalten nummerischen Typs,
- Zählen von Datensätzen - COUNT,
- Sortieren und Bilden von Gruppen und
- Bilden von nummerischen Ausdrücken
hinzugenommen. Die in der Praxis am meisten verwendete relationale Datenbanksprache ist SQL.
Aufgabe: Geben Sie an was man unter der Datenbanksprache SQL versteht! Nennen Sie außerdem ihre Sprachgruppen! Informieren Sie sich dazu im Lehrbuch Informatik Gymnasiale Oberstufe S. 167 f. bzw. im entsprechenden Artikel der Wikipedia!
Für unseren Unterricht ist lediglich die Anfragesprache QL von Interesse. Die anderen Sprachgruppen erledigt für uns phpmyadmin im Hintergrund, während wir mit der WYSIWYG-Umgebung arbeiten.
SQL ist eine deklarative Sprache (siehe dazu z.B. hier: http://de.wikipedia.org/wiki/Deklarative_Sprache oder hier: http://de.wikipedia.org/wiki/Deklarative_Programmierung). Dies bedeutet, dass eine Abfrage im Unterschied zu imperativen Sprachen (wie z.B. PASCAL) das gewünschte Ergebnis ohne Angabe des Algorithmus beschreibt. Es steht also die Beschreibung des Problems (Was?) im Vordergrund. Der Lösungsweg (Wie?) wird dann automatisch ermittelt.
Damit die Abfragen auch bei einer erneuten Arbeit mit einer DB wieder zu Verfügung stehen, können sie als Lesezeichen abgespeichert werden. (siehe linke Abbildung) Die Abfragen und deren Ergebnisse können ebenfalls in eine pdf-Datei bzw. Druckansicht exportiert werden (siehe rechte Abbildung). Aus praktischen Erwägungen (z.B. möglichst einfache Abgabe der Abfragen bei einer Klausur) wollen wir die Abfragen in einer einfachen Textdatei speichern.
Zur Erstellung von Abfragen stellt phpmyadmin auch einen Abfrageeditor zur Verfügung (siehe Abbildung). Die Bedienung des entsprechenden Formulars ist aber eher umständlich. In der Regel ist es einfacher, die Abfrage als SQL-Code zu formulieren.
Zur Behandlung von SQL im Unterricht werden die folgenden Materialien verwendet:
- Script mit der Erläuterung der wesentlichen Elemente von SQL
- Übungsaufgaben zur DB Personal
- Lösungen der Übungsaufgaben zur DB Personal
- DB Firma (als MySQL-Dump)
- Übungsaufgaben zur DB Firma
- Lösungen zu den Übungsaufgaben zur DB Firma
- TERRA-Datenbank (die TERRA-Datenbank ist im Internet verfügbar). An diesem Beispiel wollen wir die Abfrage einer DB über ein Netzwerk ausprobieren. Dies stellt den praktisch interessantesten Fall dar (siehe Abbildung).
Die Datenbank liegt auf einem Server im Netzwerk und wird über einen Browser auf dem Client per http abgefragt. Der Webserver des Providers leitet die Anfrage an den Datenbankserver weiter. Dieser füht die SQL-Abfrage aus und leitet das Ergebnis der Abfrage zum Webserver zurück. Dieser generiert automatisch eine dynamische Webseite (z.B. per PHP) und liefert diese an den Client zurück. - Übungsaufgaben zur TERRA-Datenbank
- Lösungen zu den Übungsaufgaben zur TERRA-Datenbank