Informatik

Modellierungen beurteilen

Zu einer Aufgabenstellung gibt es nie nur ein richtiges Modell. Es gibt aber sehr wohl bessere und schlechtere – und man kann begründen, welches welches ist.

Woran man ein gutes Modell erkennt

Kriterium Frage
Vollständigkeit Lässt sich jede Angabe aus der Aufgabenstellung speichern?
Redundanzfreiheit Steht jede Information genau einmal?
Korrekte Kardinalitäten Passen alle Fälle hinein, auch die seltenen?
Erweiterbarkeit Was muss man ändern, wenn eine naheliegende Anforderung dazukommt?
Angemessenheit Ist das Modell so einfach wie möglich – und nicht einfacher?

Die ersten drei Kriterien sind hart: Ein Verstoß ist ein Fehler. Die letzten beiden sind Abwägungen; dort gibt es begründete Meinungsverschiedenheiten.

Vier Entwürfe für dieselbe Aufgabe

Eine Schulbibliothek möchte ihre Ausleihen verwalten: Bücher, Schülerinnen und Schüler, Ausleihvorgänge.

Beurteile die vier Entwürfe. Nenne zu jedem mindestens einen konkreten Fall, der schiefgeht oder gut funktioniert.

Entwurf A

ausleihe(ausleih_id, buchtitel, autor, isbn, schuelername, klasse, ausleihdatum, rueckgabedatum)

Entwurf B

buch(isbn, titel, autor)
schueler(schueler_id, name, klasse)
ausleihe(ausleih_id, isbn→buch, schueler_id→schueler, ausleihdatum, rueckgabedatum)

Entwurf C

buch(buch_id, isbn, titel, autor, ausgeliehen_an→schueler, ausleihdatum)
schueler(schueler_id, name, klasse)

Entwurf D

titel(isbn, titel)
buch(buch_id, isbn→titel, exemplarnummer)
autor(autor_id, name)
titel_autor(isbn→titel, autor_id→autor)
klasse(klasse_id, bezeichnung)
schueler(schueler_id, name, klasse_id→klasse)
ausleihe(ausleih_id, buch_id→buch, schueler_id→schueler, ausleihdatum, rueckgabedatum)
Tipp 1: Prüfe jeden Entwurf an konkreten Fällen
  • Zwei Exemplare desselben Buches.
  • Ein Buch, das zweimal nacheinander ausgeliehen wird.
  • Ein Buch mit zwei Autorinnen.
  • Ein Buch, das noch nie ausgeliehen wurde.
Tipp 2: Bei D lautet die Frage anders

Bei D ist nichts falsch. Die Frage ist, ob der Aufwand zum Zweck passt – und das hängt davon ab, was die Bibliothek tatsächlich braucht.

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Schlüsselkandidaten bestimmen

Ein Teil der Beurteilung ist die Frage, ob die Schlüssel richtig gewählt sind.

So prüfst du, ob eine Attributmenge ein Schlüsselkandidat ist:

  1. Eindeutigkeit: Können zwei verschiedene Entitäten dieselben Werte haben? Denk dabei an alle möglichen Daten, nicht nur an die vorhandenen.
  2. Minimalität: Lässt sich ein Attribut weglassen, ohne die Eindeutigkeit zu verlieren? Dann war es überflüssig.

Erst wenn 1 erfüllt und 2 nicht mehr möglich ist, liegt ein Schlüsselkandidat vor.

Untersuche Entwurf B.

a) In buch: Ist isbn als Schlüssel geeignet? Wäre titel geeignet?

b) In schueler: Ist name geeignet? Ist name, klasse geeignet?

c) In ausleihe: Wäre isbn, schueler_id als Primärschlüssel geeignet – statt der künstlichen ausleih_id?

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Beurteilen heißt begründen

Eine Beurteilung besteht nicht aus „gut" oder „schlecht", sondern aus drei Teilen:

  1. Kriterium nennen – „Der Entwurf ist nicht redundanzfrei."
  2. Beleg am Modell – „Der Autorname steht in jeder Ausleihzeile erneut."
  3. Folge benennen – „Ein Tippfehler bleibt unentdeckt, und eine Namensänderung müsste an vielen Stellen nachgezogen werden."

Ohne Teil 2 und 3 ist es keine Beurteilung, sondern eine Meinung.


Selbsttest

Modellierungen beurteilen

Teilbare URL erstellen

Abschnitte auswählen