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: 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.

Lösung