Kurs:Entwicklung eines Datenbanksystems/ERM

Aus Wikiversity
Zur Navigation springen Zur Suche springen


Einleitung[Bearbeiten]

Analyse der Entitätstypen der Situation
Entitätstypen mit Beziehungen und Beispieldaten

Wie im Lebenzyklus erläutert, beginnt die Planung mit der Erstellung eines ERM. Die Situation dient als Rahmenbeschreibung für die Elemente.

Entität[Bearbeiten]

Ausgangspunkt ist immer die Betrachtung der beteiligten Objekte. Diese werden als Entitäten bezeichnet. Entitäten sind einzelne Ausprägungen von Dingen, Personen oder Vorgängen, die voneinander unterscheidbar, also identifizierbar sein müssen. Eine Entität kann sein:

  • eine Person, ein Gegenstand (Produkt, Maschine)
  • ein abstrakter Begriff (Warenkorb)
  • ein immaterielles Ding oder ein Sachverhalt (Artikeltyp, Vorgang, Ereignis, Buchung, Vertragsverhältnis)

Entitätstypen[Bearbeiten]

Gleichartige Entitäten bilden einen Entitätstyp (engl. entity type), was häufig durch ein Substantiv ausgedrückt wird. Entitätstypen werden im ER-Diagramm durch Rechtecke dargestellt. Der Name des Entitätstyps steht im Singular im Rechteck. Entitätstypen entsprechen den Karteikästen der traditionellen Informationsspeicherung. Die Bildung von Entitätstypen hängt entscheidend von den jeweiligen Anforderungen ab.

Beispiel:

  • Kunde
  • Warenkorb
  • Artikel

Attribut[Bearbeiten]

Ein Attribut (engl. attribute) ist die Benennung für eine relevante Eigenschaft aller Entitäten, die in einem Entitätstyp zusammengefasst werden. Attribute werden im ER-Diagramm durch Ovale dargestellt, der Name des Attributs steht im Singular im Oval. Die Ovale werden mit den zugehörigen Rechtecken der Entitätstypen verbunden.

Beispiel:

  • Für den Kunden der Vor- und Nachname
  • Für den Warenkorb das Kaufdatum
  • Für den Artikel(typ) den Namen, der Preis und die Lagermenge.

Attribute müssen soweit zerlegt werden, dass man in der Datenbank-Anwendung nicht auf Teile eines Attributs zugreifen muss. Eine Adresse muss also in Straße, Postleitzahl und Ort zerlegt werden. Man kann Straße und Hausnummer zusammen in einem Attribut StraßeNr speichern, wenn der Zugriff auf die Hausnummer nicht nötig ist. Mehrere Werte dürfen in einem Attribut nicht gespeichert werden, z. B. 1., 2. und 3. Wahl beim Artikelkauf.

Beziehung[Bearbeiten]

Beziehungen stellen die Verknüpfung zwischen verschiedenen Entitätstypen dar. Die Beziehung zwischen je zwei Entitätstypen wird typischerweise durch ein Verb ausgedrückt. Im Modell werden Sie als Rauten dargestellt. Danach wird noch die Wertigkeit der Beziehung durch die Wikipedia Kardinalitäten angegeben, idR wird in diesem Kurs nur die Wikipedia Chen-Notation verwendet.

Beispiel:

  • Artikel liegen im Warenkorb
  • Kunden eröffnen Konten.

Identifizierung der Entitäten[Bearbeiten]

Eine Grundanforderung der relationellen Datenbank ist es, dass Entitäten eindeutig identifizierbar sind. Zum Beispiel kann es verschiedene Kunden geben, die "Willi Wuchtig" heißen. Auch bei der Anwendung einer Datenbank treten schnell Probleme auf, wenn die Entitäten nicht eindeutig identifizierbar sind. Zwar könnte man zu Namen und Vornamen noch das Geburtsdatum hinzunehmen, um einen Kunden eindeutig identifizieren zu können, aber einfacher ist es oft, ein künstliches Attribut, z.B. eine Kundennummer einzuführen, das als Schlüssel benutzt werden kann.

Ein Schlüsselkandidat ist somit ein Attribut oder Kombination von Attributen, die die Entitäten eindeutig identifizieren können. Ein Primärschlüssel ist der unter allen möglichen Schlüsseln für das Datenmodell ausgewählte Schlüssel zur Identifizierung und werden im ER-Modell unterstrichen.

Es können künstliche oder natürliche Schlüssel verwendet werden. Künstliche Schlüssel werden selbstständig ergeben und natürliche Schlüssel sind vorhandene Attribute, die die Entität eindeutig identifizieren, z.B. die ISBN-Nummer oder die Personalnummer.

Weiterführende Links[Bearbeiten]


Applications-office.svg
Aufgabe: Erkennen
  1. Schauen Sie sich die beiden Grafiken an und markieren Sie in den Grafiken: Attribut, Beziehungsattribut, Entitäten, Entitätstypen, Primärschlüssel, Kardinalität, Relation und Relationsbezeichner.
  2. Nennen Sie je ein Beispiel für Generalisierung/Spezialisierung, Mehrfache Relationen/Parallele Beziehung, Rekursive Relation, n-fache Relation, Relationen mit Attributen, Schwache Entität (weak entity)
  3. Welche 3(/4) Wikipedia Kardinalitätsarten kennt die Wikipedia Chen-Notation?