ER-Modellierung

LV Datenorientierte Systemanalyse, WS 2012/13

Dr. Walter Ebner, <walter.ebner@wu.ac.at>
Institut für Informationswirtschaft
Wirtschaftsuniversität Wien

Überblick

Modellierungsprozess

Modellierungsprozess

Arten von Datenmodellen

Datenmodelle werden in aufeinander aufbauenden Abstufungen erstellt, deren Ergebnisse im Allgemeinen wie folgt unterschieden werden:

Konzeptuelles Datenbankschema

Die folgenden Tätigkeiten sind typisch für die Erstellung des konzeptuellen Datenbankschemas:

Logisches Datenbankschema

Die folgenden Tätigkeiten sind typisch für die Erstellung des logischen Datenbankschemas:

Physisches Datenbankschema

Die folgenden Tätigkeiten sind typisch für die Erstellung des physischen Datenbankschemas:

Probleme bei vernachlässigter Datenmodellierung

Ohne korrekter Datenmodellierung entstehen in der Praxis oft die folgenden Probleme:

Entity-Relationship-Modell

Enties, Entity-Sets und Entity-Typen

Entity (e):

Entity-Set (Et):

Entity-Typ (E):

Enties, Entity-Sets und Entity-Typen

Beispiele:

Die Entity-Sets müssen nicht disjunkt sein:
Entity "Thomas Mayer": sowohl Angestellter als auch Kunde

Attribute, Attributwerte

Attribut (a):

E : < A >

Attribute, Attributwerte

Beispiele:

Vereinfachung der Schreibweise durch Weglassen der Mengenklammern:

Angestellter:     < ANG-NR, NAME, ORT, GEHALT >

Student:          < MatrNr, Name, Geb-Datum, Wohnort, Studium>

Attribute, Attributwerte

Zu jedem Entity-Typ E gehört eine Menge A von Attributen:

E : < A >

Annahme:

feste Reihenfolge für ai in A:

a1, a2, …, an

(d.h.: die Reihenfolge ist prinzipiell beliebig, wird aber fest gewählt)

Jedes Entity (e) ist dann beschrieben durch ein geordnetes Tupel von Attributwerten w:

e : w,  w = (w1, w2, ..., wn)

Attribute, Attributwerte

Darstellung in Tabellenform:

Tabelle

Schlüssel

Gegeben  E: < A >

aber

 

Schlüssel K (englisch: key) für E : <A>

Eigenschaften von Schlüsseln

K⊆A ist "Schlüssel" für E :  <A>         <=>

Das bedeutet ein Schlüssel muss ein Objekt (Entity) eindeutig identifizieren können und zweitens minimal sein. D.h. es ist nicht möglich einen Teil des Schlüssels wegzulassen ohne das die erste Eingenschaft verloren geht.

Beispiel:

Angestellte : < Name, AngNr, Ort, Gehalt, GebDatum >
{AngNr} ist Schlüssel
{Name, GebDatum} evtl. Schlüssel

Primärschlüssel

Es kann mehrere Schlüssel, d.h. Attribute (Attributkombinationen) mit den vorher genannten Eigenschaften (K1) und (K2) geben. Diese nennt man auch Schlüsselkandidaten.

Einen davon definiert man als Primärschlüssel (Primary Key) fest.


Besonders bequem ist die Verwendung eines einfachen Schlüsselattributes wie zum Beispiel AngNr, AbteilungsNr, ArtikelNr, etc. anstelle einer mehrstelligen Attributkombination.


Hinweis: Im ER-Modell bzw. auch bei Schemadefinitionen werden Attribute, die den Primärschlüssel bilden, oft unterstrichen dargestellt.

Beziehungen

Beziehung (relationship) (b):

Zwei oder mehr Objekte können miteinander in Beziehung stehen

Beispiele:

Anzahl n der an einer Beziehung beteiligten Entities (bzw. Entitätstypen) ist der Grad dieser Beziehung.

(n = 2: binäre Beziehung).

Menge von Beziehungen

Menge von Beziehungen: (Bt)

Beziehungen desselben Grades und derselben Bedeutung zum Zeitpunkt t können (analog zu Entities) zu Mengen Bt zusammengefasst werden.


Beispiele:

Beziehungstypen

Beziehungstyp (relationship-type) (B):

Charakterisierung der Beziehungsmengen durch geeignete Eigenschaften.

B = Name des Beziehungstyps


Beispiele:

Attribute von Beziehungstypen

Beziehungstypen können ebenso wie Entitäts-Typen Attribute haben.

Es sollen sprechende Bezeichnungen für die Attribute gewählt werden.

Beispiele:

Diese Attribute werden einer konkreten Beziehung zugeordnet, d.h. sie dienen nicht zur unterscheidenden Charakterisierung der Beziehung!

Grafische Darstellung nach Chen

Grafische Darstellung ER-Diagramm

Grafische Darstellung - Hinweise

Die Angabe aller Attribute ist bei größeren Diagrammen unübersichtlich.

Empfehlung:

ER-Diagramm

ER-Modell nach Chen

Höhergradige Beziehungen

Eine Beziehung dritten Grades hat man wenn man z.B. modellieren will, dass ein Lieferant für Projekte bestimmte Teile liefert:

ER-Modell nach Chen

Spezialisierung und Generalisierung

Generalisierung/Spezialisierung

Mittels der is-a-Beziehung lässt sich die Spezialisierung und Generalisierung abbilden. Die untergeordneten Entitätstypen erben dabei die Attribute und den Primärschlüssel des übergeordneten Entitätstyps.
Es existieren viele unterschiedliche Notationsformen um diesen Spezialfall abzubilden (z.B. Pfeile vom Untertyp zum Obertyp statt der is-a Beziehung)

Kardinalität von Beziehungen

Üblicherweise gelten für Beziehungstypen bestimmte Bedingungen, die die möglichen Kombinationen zwischen Objekten in einer Beziehung beschränken:

Die Komplexität einer Beziehung wird durch Angabe von Kardinalitäten bestimmt.

Im folgenden wird die 1:n-Notation verwendet, die die folgenden Variationen für Beziehungen 2. Grades vorsieht:

Diese Notation macht keine Aussage darüber ob ein Objekt an einer Beziehung beteiligt sein muss (zwingende/optionale Beziehungen). Dafür existieren andere Notationen wie z.B. die (min,max)-Notation, UML oder die Krähenfußnotation.

Kardinalität von Beziehungen

Beziehungen vom Grad 2

ER-Diagramm mit Kardinalitäten

ER-Modell nach Chen

Erweiterung: (min, max) - Kardinalitäten

Weitere Angaben der Kardinalität eines Entity-Typs E in einem Beziehungstyp B als Zahlenpaar (α, β) mit 0 ≤ α ≤ β

(min, max)

Ein Objekt e (vom Typ E) gehört zu mindestens α, maximal β Beziehungen des Typs B.

⇒ Angabe, ob alle Entities eines Typs Beziehungen dieses Typs haben müssen.

Erweiterung: (min, max) - Kardinalitäten

Schreibweisen:

"*"    = beliebig viele

(1, 1): ein Entity hat zu einem bestimmten Zeitpunkt genau eine Beziehung.

(0, *): ein Entity kann zu jedem Zeitpunkt beliebig viele Beziehungen haben; muss aber nicht in einer Beziehung stehen.


üblich: (0,1), (0,*), (1,1), (1,*)

(d.h. im allgemeinen beschränkt man sich auf diese Spezialfälle)

Erweiterung: (min, max) - Kardinalitäten

Die folgende Abbildung zeigt wie die (min, max)-Notation bei einer Beziehung zweiten Grades mit der 1:n-Notation zusammenhängt:

(min, max)

ER-Modell mit (min, max) Kardinalitäten

ER-Modell nach Chen

Krähenfußnotation

Die Krähenfußnotation verdankt ihren Namen den sogenannten Krähenfüßen, die bei 1:n Beziehungen verwendet werden. Eine andere Bezeichnung ist Martin-Notation, benannt nach dem Entwickler James Martin.

Die Kardinalitäten (Multiplizitäten) werden durch

gekennzeichnet.

Bei jeder Beziehung stehen zwei Kardinalitäten hintereinander, die das minimale bzw. das maximale Auftreten beschreiben.

Krähenfußnotation - Beispiel

  • Eine Person ist geboren in minimal einem, maximal einem Ort.
  • Eine Person ist gestorben in minimal Null, maximal einem Ort.
  • Eine Person macht Ferien in minimal Null, maximal vielen Orten.
  • Eine Person war bereits in minimal einem, maximal vielen Orten.
  • Annahme: In die Gegenrichtung kann pro Ort nur exakt eine Person zugeordnet werden (Annahme nicht wirklich plausibel).
Beispiel

Freie ER-Modellierungs Tools

Linksammlung

Weiterführende Informationen können hier gefunden werden: