Datenmodell erstellen
Einführung in UML:
- https://www.youtube.com/watch?v=WnMQ8HlmeXc (bis und ohne “component diagram”)
- Etwas komplexer, eher als refresh: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/
Nimm ein Block/Stück Papier und zeichne die zwei folgenden Aufgaben.
Einfaches Modell
Das Ziel ist eine simple Auftrittsliste zu erstellen. Es gibt Bands, die haben einen Namen, welche einen Auftritt zu einer betsimmten Zeit an einem bestimmten Ort haben. Keine Band tritt zum gleichen Zeitpunkt an verschiedenen Orten auf.
Modelliere diese 3 Sorten von Entitäten.
- Band (mit Name)
- Ort (mit Name)
- Auftritt mit Band, Zeit und Ort
Welche Verbindungen sind dabei wichtig?
Bilde dieses Modell mithilfe von pgadmin4 in der Datenbank ab.
Denke dabei an die in der vorhergehenden Übung verwendeten Hilfsmittel:
- Eine Verbindung zwischen Tabellen kann mittels ForeignKey erstellt werden
- Jede Tabelle bildet eine Entität ab
- jede Tabelle braucht eine
idmitserialalsprimary key
Openair Modellierung
Aufbauend auf der vorhergehenden Aufgabe wird es jetzt etwas komplexer:
Wir müssen ein System erstellen, welches eine (vereinfachte!) Openair-Planung erlaubt.1
1 Es gibt mehr als eine korrekte Lösung.
Die Open-Air-Fläche ist in Areale aufgeteilt. Auf einem Areal befindet sich mindestens eine Bühne. Es kann aber auch mehrere haben. Eine Bühne hat zu einer bestimmten Zeit jeweils maximal einen Act, der einen Auftritt hinlegt. Die Acts haben eine festgelegte Abfolge von Stücken. Bei Act-Arten wie Bands sind die Stücke gleich auch die Playlist. Die Playlist muss nicht im System separat erfasst werden, das geht über die Liste von Stücken. Im Falle von z.B. einem Magier, besteht der ganze Act aus nur einem Stück.
Dazu treffen wir folgende Annahmen:
- Es kann mehr als eine Bühne auf einem Areal geben.
- Die Zeit wird direkt am Auftritt festgemacht.
- Im Vergleich zu oben gibt es keine Bands als eigene Entitäts-Sorte mehr, denn es kann auch ein Magier auftreten.
- Acts haben zur Unterscheidung einen Act-Typ (z.B. Band und Magier)
Zeichne das entsprechende UML-Modell.2
Selbstverständlich kannst du auf dem Modell von oben aufbauen.
2 Einigen sollte das Anwendungsgebiet schon ein wenig bekannt vorkommen aus dem ersten Kursteil.
Bilde dieses erweiterte Modell mithilfe von pgadmin4 in der Datenbank ab.
Hilfsfragen:
- Was kannst du stehen lassen?
- Kannst die bestehenden Tabellen ändern?
- Welche Tabelle muss vor einer anderen bestehen, damit ein ForeignKey eingetragen werden kann?
- Welche Datentypen bilden welchen Sachverhalt am besten ab?
- Gibt es Aufzählungstypen?
Auch hier gilt wieder:
- Eine Verbindung zwischen Tabellen kann mittels ForeignKey erstellt werden
- Jede Tabelle bildet eine Entität ab
- jede Tabelle braucht eine
idmitserialalsprimary key