Bestandteile eines ER-Diagrams

ER-Bestandteile

Ein ER-Diagram besteht aus den drei teilen Entität, Attribut und Relation. Dabei gelten Folgende Regeln:

  • Entitäten haben Attribute
  • Entitäten haben Relationen miteinander
  • Relationen haben Attribute

ER-Bestandteile

Bei Relationen haben die Entitäten dabei sogenannte Kardinalitäten. Diese bestimmen, wie viele Entitäten miteinander in Beziehung stehen

Kardinalitäten

1:1

Ein Entity hat die Beziehung mit genau einem anderen. Zum Beispiel hat ein Bürger genau einen Personalausweis. ER-Bestandteile ER-Bestandteile

1:n

Genau ein Entity hat die Beziehung mit n-anderen Entities. Ein Auto kann zum Beispiel auf genau einen Halter zugelassen sein, der kann aber mehrere Autos zulassen. ER-Bestandteile ER-Bestandteile

n:m

Ein Entity hat mehrere Beziehungen mit mehreren Entities. So kann ein Auto von mehreren Menschen gefahren werden, die auch mehrere Autos fahren können. ER-Bestandteile

Der Entwurf eines ER-Modells

Zuerst muss man sich den Anwendungsfall anschauen und die Entitäten herausfiltern. Diese kann man dann schonmal mitsammt ihren Attributen in das Diagramm eintragen. Dann werden die Beziehungen zwischen den Entitäten eingetragen. Dabei muss man überlegen, welche Kardinalitäten dabei zustande kommen.

Um von dem ER-Modell in ein Relationales Modell zu kommen (Das Layout der Datenbank), legt man erstmal für jede Entität eine eigene Tabelle an. Wenn eine Entität noch keinen Primärschlüssel hat, wird dieser als ID hinzugefügt. Nun schaut man sich die Relationen an. Wenn einem irgendwo eine 1:1 beziehung auffällt, dann kann man diese beiden Entitäten in eine Tabelle zusammenfassen. Wenn man eine 1:n Beziehung findet, dann haben beide Entitäten ihre eigene Tabelle, und die Entität mit der Kardinalität n speichert einen Fremdschlüssel auf die andere Entität. Für die n:m Beziehungen werden eigene Tabellen angelegt, die auch mit Fremdschlüsseln auf die Entitäten referenzieren.

Ein Beispiel aus dem Buch Datenbanksysteme von Alfons Kemper und André Eickler ist hier zu sehen. ER-Modell wird zu:

Professor(__PersNr__, Rang, Raum, Name)
Assistent(__PersNr__, Name, Fach, ~~Professor~~)
Vorlesung(__Nr__, SWS, Titel, ~~Professor~~)
Student(__MatrNr__, Name, Semester)
Vorsaussetzen(~~Vorlesung~~, ~~Vorlesung~~)
Prüfung(~~Student~~, ~~Professor~~, ~~Vorlesung~~, Note)

Normalformen

Nicht jedes Relationelle Modell ist sinnvoll zu implementieren. Um ein Modell möglichst effizient in die beste Form zu bringen, gibt es drei große Regeln oder auch Normalformen genannt. Dabei basiert jede Normalform auf der vorherigen und übernimmt dessen Einschränkungen. So ist die dritte Normalform ein superset der zweiten Normalform, welche wiederum ein superset der ersten Normalform ist.

1.NF

Jedes Attribut einer Relation muss einen Atomaren Wertebereich haben. Das bedeutet, dass jedes Attribut genau eine information speichert und nicht weiter aufgeteilt werden kann. Dies erleichtert das Abfragen, da Daten nicht weiter aufgeschlüsselt werden müssen.

2. NF

Die Erste Normalform muss hierfür vorliegen, wie eingangs erwähnt. Jedes Nicht-primärattribut muss voll funktional von einer echten Teilmenge eines Schlüsselkandidaten abhängen. Das bedeutet, dass jedes Attribut von jedem Teil(bei zusammengesetztem Schlüssel) abhängen muss. Dadurch modelliert jede Relation(Tabelle) genau nur einen Sachverhalt.

3. NF

Kein Nichtschlüsselattribut darf von einem Schlüsselkandidaten transitiv abhängen. Dies bedeutet, dass kein Attribut von einem anderen Attribut abhängt, ohne das es ein Kandidat ist. So werden verkettungen verhindert und erleichtern das Erkennen der Abhängigkeiten ohne die Daten zu kennen.