Einstiegsaufgabe zur Wiederholung:
Erstelle ein Entity-Relationship-Diagramm (ER-Diagramm) für das Studio. Berücksichtige dabei folgende Anforderungen der Geschäftsleitung:
- Mitglieder & Verträge: Von jedem Mitglied werden Name, Vorname, Geburtsdatum und eine eindeutige Mitgliedsnummer gespeichert. Jedes Mitglied schließt genau einen Vertrag ab (z. B. "Basic", "Premium", "Student"). Ein Vertragstyp kann natürlich von vielen Mitgliedern genutzt werden.
- Trainer: Das Studio beschäftigt verschiedene Trainer (Name, Spezialisierung, Personalnummer).
- Kursangebot: Es werden Kurse angeboten (z. B. "Yoga", "Crossfit", "Zumba"). Ein Kurs hat einen Namen, einen Raum und eine feste Uhrzeit.
Zuweisungen:
- Jeder Kurs wird von genau einem Trainer geleitet. Ein Trainer kann jedoch mehrere verschiedene Kurse leiten.
- Mitglieder können sich für Kurse einschreiben. Ein Mitglied kann viele Kurse besuchen, und in einem Kurs können viele Mitglieder angemeldet sein.
Zusatz-Challenge (Optional): Jedes Mitglied bekommt einen festen Spind für die Dauer seines Aufenthalts. Ein Spind gehört immer nur zu einem Mitglied, und ein Mitglied nutzt (zeitgleich) nur einen Spind.
Praxisaufgabe: "YouTube Reverse Engineering"
Situationsbeschreibung:
Die Struktur der Plattform YouTube soll rekonstruiert werden. Das passiert in der Realität häufig, z.B. für Pentesting oder Konkurrenz-Entwicklung. Du sollst nur das modellieren, was ein nicht eingeloggter (anonymer) Nutzer auf der Webseite sehen kann.
Aufgabe:
Analysiere die YouTube-Oberfläche (Startseite, Kanalseite, Videoseite) und erstelle ein ER-Diagramm.
Berücksichtige dabei folgende Entitäten und Informationen:
- Videos: Welche Daten sind direkt unter oder im Video sichtbar? (Titel, Aufrufe, etc.)
- Kanäle: Ein Video wird immer von einem Kanal hochgeladen. Welche Informationen hat ein Kanal?
- Playlists: Videos können in Playlists gruppiert sein.
- Kommentare: Unter dem Video finden sich Kommentare. (Hinweis: Ignoriere die Antwort-Funktion auf Kommentare für die erste Version).
Zusatzfragen zur Modellierung:
- Welche Kardinalität besteht zwischen Kanal und Video?
- Wie sieht die Beziehung zwischen Video und Playlist aus? (Ein Video kann in vielen Playlists sein, eine Playlist enthält viele Videos).