====== 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]]