Übung 2: Komplexe Abfragen mit SQL (15 Punkte)

Werbung
Datenmodellierung und Datenbanksysteme
HTW Berlin
Prof. Dr. Ingo Claßen
Martin Burghardt
Stephan Lorenz
Übung 2: Komplexe Abfragen mit SQL (15 Punkte)
Das Datenmodell für die Abfrageaufgaben ist einem sozialen Netzwerk nachempfunden
und beschreibt Nutzer, Freundschaften sowie Posts.
Post
Freundschaft
NID1 (fk)
NID2 (fk)
NID1=NID
Nutzer
NID2=NID
NID
Name
NID=NID
PID
NID (fk)
Text
Erstelldatum
Die Daten und deren Beziehungen sind in folgender Abbildung als Graph dargestellt.
Die Linien beschreiben Beziehungen und werden im Datenmodell durch Fremdschlüssel
realisiert. Die Freundschaftsbeziehungen sind symmetrisch in der Datenbank gespeichert,
d.h. wenn Seidel mit Demirci befreundet ist, gibt es dazu zwei Datensätzen, nämlich von
Seidel nach Demirci und von Demirci nach Seidel.
Mit der Anweisung
alter session set current_schema=usozmed;
schalten Sie auf das Schema usozmed um. Damit ist es dann nicht mehr notwendig,
usozmed vor jeden Tabellennamen zu schreiben.
Aufgabe 1 (1 Punkt)
Erstelldatum des aktuellsten Posts.
Erwartetes Ergebnis:
2
Aufgabe 2 (2 Punkte)
Namen der Nutzer, die mehr als 2 Freunde haben. Die Anzahl der Freunde soll mit ausgegeben werden. Sortiert nach Name.
Erwartetes Ergebnis:
3
Aufgabe 3 (2 Punkte)
Namen der Nutzer, die 2 Posts angelegt haben. Die Aufgabe soll mit einer Unterabfrage
gelöst werden. Sortiert nach Name.
Erwartetes Ergebnis:
4
Aufgabe 4 (2 Punkte)
Text des ältesten Posts.
Erwartetes Ergebnis:
5
Aufgabe 5 (4 Punkte)
Namen der Nutzer, die die meisten Freunde haben.
Erwartetes Ergebnis:
6
Aufgabe 6 (4 Punkte)
Paare von Namen von Nutzern, die die gleiche Anzahl von Freunden haben. Jedes Namenspaar darf nur einmal im Ergebnis auftreten. Sortiert nach Anzahl Freunde, Name1
und Name2.
Erwartetes Ergebnis:
7
Herunterladen