====== Einstieg in die Datenmodellierung ======
Im vorangegangenen Kapitel hast Du viele Beispielrelationen mit zwei Tabellen modelliert. Wir gehen jetzt den Schritt zu immer umfangreicheren Datenbank-Modellen.
**Musteraufgabe: ** \\
Lisa möchte ihre Noten in einer Datenbank speichern. Entwickle ein Datenbankschema!
**Lösung: ** \\
Wir stellen Überlegungen zu den Tabellen und ihren Beziehungen auf.
* Begrifflichkeit: Wir unterscheiden zwischen einem Leistungsnachweis (1. Ex, 10.12.2022, Note 2) und der Note
* Jeder Leistungsnachweis gehört zu einem Fach. Zu einem Fach gehören mehrere Leistungsnachweise.
* Jeder Leistungsnachweis hat eine Art (mündlich, Schulaufgabe, Stegreifaufgabe, ...), einen Wert (1, 2, ..., 6) und ein Datum.
Wir kommen zu folgendem Klassendiagramm:
{{ :jg10:modellierung10einstieg:pasted:20231017-155050.png?500 }}
Hier das zugehörige relationale Modell:
* Art[__id: integer__, bezeichnung: varchar(20)]
* Fach[__id: integer__, bezeichnung: varchar(20), kurzbezeichnung: varchar(5)]
* Leistungsnachweis[__id: integer__, datum: Date, wert: integer, //art_id: integer//, //fach_id: integer//]
Ergänzende Aufgaben:
* a) Schreibe die drei Tabellen in dein Heft und fülle sie mit insgesamt 15 Beispieldatensätzen!
* b) Wir haben "Datum" als Attribut der Tabelle Leistungsnachweis modelliert. Es wäre doch auch möglich, Datum als Tabelle zu modellieren mit einer 1:n-Relation zu Leistungsnachweis. Wie bewertest Du diesen Vorschlag? Begründe!
* c) Wir haben "Wert" als Attribut der Tabelle Leistungsnachweis modelliert. Es wäre doch auch möglich, Wert als Tabelle zu modellieren mit einer 1:n-Relation zu Leistungsnachweis. Wie bewertest Du diesen Vorschlag? Begründe!
===== Aufgabe 1 ======
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?
[[.aufgabe1Loesung:start|Lösung]]