Database Group Leipzig (https://old.dbs.uni-leipzig.de)

Teil 1

Aufgabenstellung

In diesem Teil wird der erste Schritt der Erstellung einer vollständigen DB-Anwendung durchgeführt, der Datenbank-Entwurf. Dazu ist zunächst ein konzeptionelles Schema zu erstellen.

Folgende Teilaufgaben sind für das Bestehen des ersten Testats zu lösen:

  1. Überführen Sie das bereitgestellte UML-Diagramm in ein valides Relationenmodell. Benennen Sie alle Relationen, Attribute und Datentypen, die Sie für den Entwurf verwenden. Achten Sie darauf, dass Kindklassen in Vererbungshierarchien (z.B. City-[erbt von]->Place, Post-[erbt von]->Message, Company-[erbt von]->Organization) als eigene Relationen modelliert werden. Entscheiden Sie je nach Kardinalität einer Beziehung, ob es sich um eine 1:1, 1:n oder n:m Beziehung handelt und erzeugen Sie die beteiligten Relationen entsprechend.
  2. Entwickeln Sie anhand Ihres Relationenmodells ein SQL-Skript (DDL), welches die notwendigen Tabellen und Schlüssel-Constraints (Definieren Sie auch entsprechende Lösch- und Updateregeln für Fremdschlüsselbeziehungen) in PostgreSQL erzeugt. Formulieren Sie zusätzlich Constraints für folgende Attributbedingungen:
    • Datentyp entsprechend der Quelldaten (z.B. timestamp fuer ‘creationDate’)
    • Der Geburtstag einer Person darf nicht in der Zukunft liegen
    • Die Email-Adresse einer Person muss “valide [1]” sein
  3. Importieren Sie die bereitgestellten CSV-Daten in Ihre Datenbank. Achten Sie darauf, dass die bereitgestellten CSV-Daten nicht dem Zielschema entsprechen. Das Laden der Daten kann auf zwei Wegen erfolgen:
    • Variante 1 (Programm): Schreiben Sie ein Ladeprogramm, welches die CSV-Daten einliest, entsprechend Ihrem Zielschema konvertiert und in die Datenbank schreibt.
    • Variante 2 (SQL): Nutzen Sie für die Transformation die von der Datenbank bereitgestellten Mittel. Laden Sie die CSV-Daten in temporäre Tabellen via COPY [2] und transformieren Sie die Daten in Ihr Zielschema via SQL.

Darstellung der Lösung

Abzugeben sind:

Bitte setzen Sie sich per E-Mail mit einem Terminvorschlag für Ihr Testat mit Ihrem Betreuer in Verbindung. Ihre Lösung sollte dem Betreuer spätestens am Tag vor der Besprechung vorliegen. Bitte geben Sie im Betreff der E-Mail dbprak sowie die Gruppennummer an. Nehmen Sie dabei ihren Gruppenpartner mit ins CC, damit wir mit Reply-All beiden antworten können.

Schema und Daten

Miniweltbeschreibung

Das bereitgestellte UML-Diagramm definiert die Entitäten eines online sozialen Netzwerkes und ihre Beziehungen zueinander. Die bereitgestellten Daten repräsentieren die Aktivität innerhalb des sozialen Netzwerkes in einem festgelegten Zeitraum. Das Schema modelliert Entitäten, wie zum Beispiel Personen, Organisationen und Orte. Außerdem werden Beziehungen, wie zum Beispiel Freundschaften zwischen Personen und die Interaktion zwischen Personen und z.B. Nachrichten / Kommentaren abgebildet.

Entitäten

Entitäten besitzen in den bereitgestellten Daten eine eindeutige Identität. Diese ist zu verwenden für die PS.

Beziehungen

Beziehungen verbinden Entitäten unter Verwendung ihrer jeweiligen Identität.


Source URL:
https://old.dbs.uni-leipzig.de/en/stud/2018ss/dbprak/teil1