In einem Theater soll eine Datenbank eingeführt werden, in der die Theaterstücke, die Schauspieler/innen und die Aufführungen (welcher Saal?, wann?) verwaltet werden.
a) Erstelle das Klassendiagramm mit Relationen (noch ohne Attribute) und darauf aufbauend das relationale Modell (insgesamt mindestens 6 Attribute)!
b) Wie könnte das Modell erweitert werden, damit nicht nur gespeichert werden kann, welche Schauspieler in welchen Stücken mitspielen, sondern auch, welche Rolle sie jeweils haben?
Relationales Modell:
Schauspielerin [id: integer, rufname: varchar(80), familienname: varchar(80)]
Theaterstück [id: integer, titel: varchar(200), autor: varchar(100)]
spielt_in [schauspielerin_id: integer, theaterstück_id: integer]
Aufführung [id: integer, zeitpunkt: datetime, theaterstück_id: integer, saal_id: integer]
Saal[id: integer, name: varchar(100), kapazität: integer]
Wir sehen hier erstmals den Fall, dass eine n:m-Relation ein zusätzliches Attribut hat (hier: die Rolle). Man bildet es ab, indem man die Beziehungstabelle um eine entsprechende Fremdschlüsselspalte erweitert. Zur Veranschaulichung nachfolgend die vier beteiligten Tabellen mit ein paar Beispieldatensätzen: