Entity-Relationship-Modell...

Am Anfang einer Datenbank steht in der Regel das Modell derselben. Zur Modellierung von relationalen Datenbanken gibt es mehrere Möglichkeiten. Die einfachste und deswegen wahrscheinlich weit verbreitetste Möglichkeit stellt das ER-Modell dar.

Mit dem ER-Modell werden die Objekte (Entitätstypen) einer Datenbank mit ihren Eigenschaften (Attributen) und ihren Beziehungen (Relationships) untereinander beschrieben. Das ER-Modell wird ausgehend von der Problemstellung schrittweise erstellt und stellt die wichtigste Grundlage beim Datenbankentwurf dar. Auch wenn es einem lästig erscheint, sollte man auch bei vermeintlich einfachen Datenbanken nie auf das ER-Modell verzichten!

Ein ER-Modell besitzt im allgemeinen folgende Form:

Beispiel: CD-Sammlung

Eine CD-Sammlung besteht üblicherweise aus vielen Musik-CDs. Eine CD enthält Lieder, die von Interpreten gesungen werden.

Nun ergänzen wir das ER-Modell mit Attributen, welche die einzelnen Objekte (Entitätstypen) näher beschreiben:

Auch das war nicht allzu schwer, denn die Attribute bekommst du in aller Regel vorgegeben.

Jetzt müssen wir für jeden Entitätstyp einen Primärschlüssel festlegen.

Primärschlüssel
Ein Primärschlüssel ist ein Attribut, welches ein Objekt (Zeile der Tabelle) eindeutig kennzeichnet.

Da es viele CDs mit gleichem Erscheinungsjahr und evtl. gleichem Titel (zB. "Greatest Hits") gibt, fallen diese Attribute als Primärschlüssel-Kandidaten raus. Vielmehr geben wir jeder CD eine eigene CD-Nummer und legen diese als Primärschlüssel fest.

Lied-Titel, -Sprache und -Dauer sind ebenfalls nicht eindeutig. Also nummerieren wir unsere Lieder und legen dieses Attribut als Primärschlüssel fest.

Der Name des Interpreten sollte eindeutig sein - allerdings bin ich mir da bei den deutschen "Schlagerbarden" nicht ganz so sicher und lege eine Interpreten-ID (Nummer) als Primärschlüssel fest.

Die Primärschlüssel werden nun durch Unterstreichung gekennzeichnet:

Unsere Datenbank enhält zwar noch ein paar Redundanzen - aber für den Anfang soll sie genügen.

Redundante Daten haben einen geringeren Informationsgehalt, da sie zB. mehrfach gespeichert werden. In unserem Falle haben wir mehrfach das gleiche Erscheinungsjahr, die gleiche Liedsprache und das selbe Land.