Übungen
Die nachfolgenden Übungen zu SQL beziehen sich nun auf die gbuch-Datenbank, die folgendes Datenbankschema besitzt:
Download der kompletten gbuch-Datenbank.
SQL-Befehle (mit Einschränkungen) direkt ausprobieren.
Denke bei den Lösungen auch wieder daran, dass du keine Werte von Schlüsseln direkt abfragst!
Aufgabe 1
Wen hat der Benutzer mit der E-Mail "lindemannerwin71@elgoog.com" geworben?
Aufgabe 2
Wer sind die Freunde von Siegmund Böhmer?
Mit Hilfe der freund
-Tabelle: Beachte, dass Herr Böhmer als PNR1
oder als
PNR2
vorkommen kann. Ein Teil der Bedingung könnte dann so aussehen:
( (freund.PNR1 = b.PNR AND f.PNR = freund.PNR2)
OR ( freund.PNR2=b.PNR AND f.PNR = freund.PNR1) )
optional: Löse die Aufgabe auch mit Hilfe des freund2
-Views.
Hilfe: Insgesamt sollte das Ergebnis 84 Zeilen haben.
Aufgabe 3
Wie viele Freunde hat Norbert Hagedorn?
optional: Löse die Aufgabe auch mit Hilfe des freund2
-Views.
Aufgabe 4 - optional
Wie viele Benutzer hat Herr Paul Winkelmann letztendlich geworben (auch über mehrere Stufen)?
Hinweis: Diese Anfrage lässt sich sinnvoll nur mit der Hierarchie-Tabelle lösen.
Erweiterung: Gib auch die Anzahl der Benutzer in der jeweiligen Stufe an.
Aufgabe 5 - optional
Für Übersichten werden häufig die Benutzernamen mit dem Benutzerbild benötigt.
Erzeuge einen Datenbankview benutzeruebersicht
, der die Attribute Name, Vorname, Email, GebDat
des Benutzers und sein Benutzerbild (Name, Inhalt) ausgibt.
Suche dann mit Hilfe des neuen Views alle Benutzer, die vor 1.1.1980 geboren sind.
Hinweise:
Den View kannst du leider nicht auf der online-Datenbank erzeugen.
Beachte, dass auch im View keine Attributnamen doppelt erscheinen sollten.