Filmdatenbank
(Diese Aufgabe ist aus dem Kurs zur Datenmodellierung)
Mach dich daran, die fünf User-Stories in ein objektorientiertes Datenmodell zu übersetzen.

Identifiziere alle Klassen und Objekte, die in den Texten vorkommen.
Lösung anzeigen
- Schaue dir vor allem die Substantive und Subjekte in den Sätzen an. Sie verraten dir oft, welche Objekte und Klassen es gibt.
- Objekte haben bestimmte Eigenschaften. Überlege dir also, was ein Objekt ist und was nur ein Attribut dieses Objekts (die Attribute brauchen wir im nächsten Schritt)
- Ergänze nichts, was nicht in der Angabe steht!
Die vorkommenden Objekte sind die Filme und die Personen selbst.
Personen hantieren in dieser Situation mit Filmen, sie sind also die wesentlichen Akteure, die etwas machen.
Die Klassen benennen wir auch einfach genau so:
Film und Person.

Du hast mehr Klassen als diese beiden?
- Schau dir Teilaufgabe b) an, vielleicht erledigen sich dann die Fragen.
- Du hast noch eine extra Klasse Genre? Wow! Diese Klasse kann sich im Hinblick auf die spätere Benutzung lohnen. Zur Vereinfachung lassen wir sie hier aber weg.
Finde die Attribute der Klassen.
Lösung anzeigen
- Schau dir jetzt die Substantive an, die noch übrig sind
- Überlege wie in der Grundschule "wie ist etwas?"
- Ergänze nichts, was nicht in der Angabe steht!
Jetzt werden alle Informationen ergänzt, die man zu einem Film oder zu einer Person speichern möchte. Diese werden die Attribute der Klassen.
Attribute der Klasse Film
Auf den Karten oben links und oben rechts sind alle nötigen Attribute für die Klasse Film:
- Titel
- Genre
- Länge
- Oscar-Nominierungen
- Auszeichnungen
Attribute der Klasse Person
Hier geht es um die Freunde selbst. Die Infos sind auf der gelben Karte in der Mitte oben:
- Name
- Lieblingsgenre
"Horror" ist übrigens ein Attributwert vom Attribut Lieblingsgenre ;)
Klassendiagramm

Und die Karten unten? Schau dir die Teilaufgabe c) an!
Finde die Beziehungen zwischen den Klassen!
Lösung anzeigen
Überlege dir, wie die Personen mit den Filmen arbeiten. Erfinde aber nichts dazu, was nicht auf den Karten steht
In diesem ersten Beispiel gibt es nur zwei Beziehungen:
- Personen schauen Filme an.
- Personen haben Filme .
Ergänze gleich die Kardinalitäten dieser Beziehungen:
- Eine Person kann beliebig viele Filme anschauen und ein Film kann von vielen Personen angeschaut werden.
- Aus der User Story wissen wir, dass ein Film nur von maximal einer Person besessen werden kann. Eine Person kann aber beliebig viele Filme besitzen.
Im Klassendiagramm sieht das so aus:

n und m stehen jeweils für eine beliebige, natürliche Zahl oder 0.
0..1 heißt, dass es 0 oder 1 Person sein können.
Du kannst eine Beziehung kontrollieren, indem du sie von beiden Seiten liest beginnend mit "Ein...":
Ein Film wird von keiner oder einer Person besessen.
Eine Person kann n (also beliebig viele) Filme besitzen.
Jetzt hast du ein erstes Datenmodell!
Komplizierter geht es immer und vielleicht hast du aus den User Stories auch noch mehr rausgelesen. Aber diese Modellierung ist möglichst einfach und erfüllt für's Erste alle Anforderungen.