Kleines Nachschlagewerk Informatik
Entity-Relationship-Modell
Worum geht es?
Aus der Programmierung ist der Prozess der Planung und der sprachenunabhängigen Darstellung bereits bekannt. Man nutzt Programmablaufpläne (in mehr oder weniger strukturierter Form) und Klassendiagramme. Ein ähnliches Werkzeug gibt es natürlich auch für Datenbanken.

Das ER-Modell ist dabei unabhängig von der Art der Datenbank (relational, objektorientiert), mit der es umgesetzt wird.
Attribute
Eigenschaften bezeichnet man als Attribute. Dies ist bereits aus der OOP bekannt. Attribute werden als Oval gezeichnet.

Zusammengesetzte Attribute
Attribute, die eine logische Einheit (so z.B. Name als Vorname, Vatersname und Familienname oder Betrag und Währung als Preis) bilden, kann man zusammen fassen.

Mehrfachattribute
Attribute sollten atomisiert sein. Besteht ein Attribut aber trotzdem aus mehreren Teilen, dann spricht man von Mehrfachattributen. Diese werden als Oval mit doppeltem Rand gezeichnet.
Objekte
Analog zur OOP sind Objekte Abbilder der Realität (also z.B. CDs, Personen etc.), die durch ihre Attribute definiert sind. Objekte werden durch Rechtecke gekennzeichnet.

Man sammelt Attribute und fasst diese zu einem Objekt zusammen. Diesen Prozess nennt man Klassifikation.
Beziehungen
Beziehungen zeigen, wie Objekte miteinander verbunden sind. Beziehungen können ebenso Eigenschaften (Attribute) haben. Beispielsweise könnte eine Beziehung "besitzt" darüber Auskunft geben, dass Personen CDs besitzen. Ein Attribut wäre, seit wann diese Person die CD besitzt.



Objekte können auch durch mehrere Beziehungen verbunden sein. Ebenso können Beziehungen sich auch nur auf ein Objekt beschränken bzw. mehr als zwei Objekte miteinander verbinden.



Beziehungen kennt man aus der OOP als Assoziation. Dort reichten allerdings Referenzen auf andere Objekte. Beziehungen sind hier allerdings ähnlich komplex wie Objekte, da sie separat gespeichert werden und Eigenschaften haben können.
Aggregation
Mehrere Objekte kann man zu neuen Objekten zusammen fassen. Denkweisen wie Aggregation und Komposition kennt man bereits aus der OOP. Erstaunlicherweise liefert die Suche im Netz keine Beispiele, obwohl die Aggregation sehr oft beschrieben wird. Daargestellt werden Aggregationen als "hat"- oder "ist Teil von"-Beziehungen.

Als Beispiel sei das Produkt Geschenk1 einer Geschenkefirma genannt, welches sich aus einem Buch und einer Flasche Wein (die ja auch im Lager vorgehalten werden müssen) zzgl. einem Korb genannt.

Komplexitäten
Man kann bei Beziehungen angeben, wie viele Objekte der Klasse 1 zu Objekten der Klasse 2 in Beziehung stehen können. Ein Klassenlehrer hat mehrere Schüler, aber ein Schüler hat nur einen Klassenlehrer bzw. Tutor.

Ähnliches ist aus der OOP bekannt.
Spezialisierung + Generalisierung
Analog zur OOP gibt es auch hier eine Spezialisierung bzw. Generalisierung, dort als Vererbung bezeichnet. Analog zur OOP-Bezeichnung "Ist-Beziehung" schreibt man hier Is-A bzw. Ist-Ein(e).