SQL ist eine standardisierte Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. Sie wird von allen relationalen Datenbanksystemen unterstützt. SQL ist eine sehr komplexe Sprache und geht deutlich über die Möglichkeiten der Relationenalgebra hinaus.
Wir lernen SQL anhand des interaktiven SQL-Tutorials, das der Leistungskurs Informatik 2002/04 als Anwendungsprojekt entwickelt hat. Es steht auf diesen Servern zur Verfügung:
Ihr lernt selbstständig und eigenverantwortlich anhand der Lektionen und Übungen. Damit das auch gut klappt, richtet ihr euch nach folgender Anleitung:
Das SQL-Tutorial enthält keine rekursiven Beziehungen. Daher folgen hier zwei Beispiele für entsprechende SQL-Abfragen.
a) Für die rekursive Beziehung ist_Vorgesetzter_von mit der Relation Mitarbeiter(Personalnummer, Nachname, Vorname, ↑VorgesetztenPersonalnummer) sollen die Mitarbeiter, die den Vorgesetzten Paul Schmidt haben, bestimmt werden.
SELECT A.Vorname, A.Nachname FROM Mitarbeiter A, Mitarbeiter B WHERE A.VorgesetztenPersonalnummer = B.Personalnummer AND B.Vorname = 'Paul' AND B.Nachname = 'Schmidt'
b) Es soll eine Relation mit Nachname und Vorname aller Mitarbeiter erzeugt werden, die zu jedem Mitarbeiter auch Nachname und Vorname des Vorgesetzten enthält.
SELECT A.Vorname, A.Nachname, B.Vorname, B.Nachname FROM Mitarbeiter A, Mitarbeiter B WHERE A.VorgesetztenPersonalnummer = B.Personalnummer
Rekursive Abfragen über alle Vorgesetztenstufen hinweg, z.B. Anzeige aller Mitarbeiter mit dem direkten oder indirekten Vorgesetzten Paul Schmidt, überschreiten das Schulniveau.