Dies ist eine alte Version des Dokuments!


ER-Modell

Um überhaupt eine Datenbank anlegen und mit ihr arbeiten zu können, muss man erst wissen, was man will. Sehr hilfreich sind dabei Modelle, die das Problem beschreiben. Vor allem kommt es bei Datenbanken darauf an, Daten nicht redundant1) abzulegen und darauf zu achten, dass diese konsistent2) sind.

Ein solches Modell ist das Entity-Relationship-Modell 3)

Aus dem Namen ist schon zu erkennen, dass die grundlegendsten Modellierungsstrukturen dieses Modells die Entities4) und die Relationships5) zwischen den Entities sind. Zusätzlich "kennt" das Entity-Relationship-Modell noch Attribute und Rollen - dazu aber später mehr6)

Hier gibt's noch Lesestoff: Entity-Relationship-Modell

EntityGegenstände (bzw. Entities) sind wohlunterscheidbare physisch oder gedanklich existierende Konzepte der zu modellierenden Welt. Man abstrahiert ähnliche Gegenstände zu Gegenstandstypen (Entitytypen oder Entitymengen), die man graphisch als Rechtecke darstellt, wobei der Name des Entitytyps innerhalb des Rechtecks angegeben wird.

BeziehungBeziehungen werden auf analoge Weise zu Beziehungstypen zwischen den Gegenstandstypen abstrahiert. Die Beziehungstypen werden als Rauten mit entsprechender Beschriftung repräsentiert. Die Rauten werden mit den beteiligten Gegenstandstypen über ungerichtete Kanten verbunden.

Im Folgenden werden wir oft die Unterscheidung zwischen Gegenständen und den Gegenstandstypen, bzw. zwischen Beziehungen und Beziehungstypen, vernachlässigen. Aus dem Kontext dürfte immer leicht ersichtlich sein, was gemeint ist.

Fragen

  1. Was ist ein ER-Modell? (Wofür steht ER?)
  2. Welche Begriffe sind im Zusammenhang des ER-Modells relevant? siehe: 7)

Entitytypen

Auch der Schulalltag bietet viele Möglichenkeiten das ER-Modell einmal auszuprobieren. Dazu müssen wir uns überlegen, welche Daten wir verarbeiten wollen und in welcher Beziehung diese zueinander stehen.

Einige Entitytypen hierzu könnten sein:

  • Schüler
  • Lehrer
  • Klasse/Jgst.

Beziehungen

Erst die Beziehung macht die Datenmodellierung interessant, da man hier Daten verarbeitet und die Infrmationen abfragt/ändert/löscht…

In unserem Beispiel sind Beziehungen zwischen den Entitytypen z.B.:

  • istIn (zwischen Schüler und Klasse/Jgst.)
  • unterrichten (zwischen Lehrer und Klasse/Jgst.)

Attribute

Jetzt haben wir zwar die Entitytypen und Beziehungen genannt - also ich weiß, dass es Schüler gibt und dass sie in eine Klasse gehen - aber ich muss die einzelnen Entities, die selben Typs sind auch unterscheiden können.

Attribute helfen uns hierbei, Entities bzw. Beziehungen zu charakterisieren. Diese stellt man durch Kreise (oder Ovale) dar und verbindet sie mit den entsprechenden Entitytypen bzw. Beziehungen durch eine gerade Linie8).

ER-Schema

Wie kann man nun diese Modellierung visualisieren? Antwort: Mit einem ER-Schema:

ER-Schema

Fragen

  1. Nenne Entities zum Thema "Deutschland". Welche Beziehungen gibt es in diesem Kontext?
  2. Von wem stammt die auf dieser Seite verwendete Schema-Darstellung?
  3. Zeichne ein ER Schema zum Thema "Handys". Die Entities und Beziehungen legen wir im Unterricht fest…

Charakterisierung von Beziehungstypen

Wenn man sich eine Beispieltabelle zu dem Schüler-Lehrer-Klasse-Modell anlegt stellt man Unterschiede in den Beziehungen fest:

Tabelle zum ER-Schema

  • Ein Schüler kann nur einer Klasse angehören, aber
  • einer Klasse gehören mehrere Schüler an.
  • In einer Klasse können mehrere Lehrer Unterrichten und
  • ein Lehrer kann auch in mehreren Klassen unterrichten.

Es gibt hier einen feinen Unterschied unter den Beziehungstypen hinsichtlich ihrer Funktionalität, die nachfolgend aufgezählt werden sollen:

1:1-Beziehung

1:1-Beziehung Falls jedem Entity e1 aus E1 höchstens ein Entity e2 aus E2 zugeordnet ist und umgekehrt jedem Entity e2 aus E2 höchstens ein Entity e1 aus E1 zugeordnet ist, spricht man von einer 1:1-Beziehung.

Man beachte dass es auch Entities aus E1 (bzw. E2) geben kann, denen kein "Partner" aus E2 (bzw. E1) zugeordnet ist.

Beispiele:

1:N-Beziehung

1:N-Beziehung Falls jedem Entity e1 aus E1 beliebieg viele (also mehrere oder auch gar keine) Entities aus E2 zugeordnet sein können, aber jedes Entity e2 aus E2 mit maximal einem Entity aus E1 in Beziehung stehen kann, spricht man von einer 1:N-Beziehung.

Beispiele:

N:1-Beziehung

N:1-Beziehung …analog zu obigem…

Beispiele:

N:M-Beziehung

N:M-Beziehung Wenn keinerlei Einschränkungen gelten müssen, d.h. jedes Entity aus E1 mit beliebig vielen Entities aus E2 in Beziehung stehen kann und umgekehrt jedes Entity aus E2 mit beliebig vielen Entities aus E1 assoziiert werden darf, spricht man von einer N:M-Beziehung.

Beispiele:

Wichtige Anmerkung:

Man beachte, dass die Funktionalitäten Integritätsbedingungen darstellen, die in der zu modellierenden Welt immer gelten müssen. D.h. diese Bedingungnen sollen nicht nur im derzeit existierenden Zustand der Miniwelt (rein zufällig) gelten, sondern sie sollen Gesetzmäßigkeiten darstellen, deren EInhaltung erzwungen wird.

Kurz und knapp: Die Funktionalität muss immer gelten - jetzt und auch auch später!

Fragen

  1. Finde Beispiele zu den unterschiedlichen Beziehungstypen.
1) mehrfach
2) jederzeit stimmen
3) kurz ER-Modell genannt
4) Gegenstände
5) Beziehungen
6) oder gar nichts mehr ;-)
8) in der Informatik heißt so etwas Kante
start/info/10_diff/datenbanken/er-modell.1224543833.txt.gz · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0