Inhaltsverzeichnis

SQL - Structured Query Language

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:

Abfrage einer rekursiven Beziehung

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.