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