ER-Diagramme
Alles über ER-Diagramme.
ER Diagramme
Section titled “ER Diagramme”ER (Entity Relation) Diagramme sind bestimmte UML-Diagramme, welche die Beziehungen zwischen Entitätstypen beschreiben. Sie beschreiben eine ganze Datenbankstruktur und modellieren, welche Attribute ein Entitätstyp hat und in welchen Beziehungen einzelne Entitäten zu anderen stehen.
Darstellung
Section titled “Darstellung”Jeder Entitätstyp wird durch ein Rechteck dargestellt.
Attribute
Section titled “Attribute”Jeder Entitätstyp hat zudem Attribute. Diese werden in relationalen Datenbanken als Spalten dargestellt. Im Modell sind diese Ovale, welche mit ihrem Entitätstyp verbunden sind.
Beziehungen (Übersicht)
Section titled “Beziehungen (Übersicht)”Zwischen einzelnen Entitätstypen können Beziehungen modelliert werden (siehe: Beziehungen). Bei ER-Diagrammen werden diese zwischen den Entitätstypen mit Rauten dargestellt.
(Öffne das Bild extern, um es besser sehen zu können)
Schwache Entitätstypen
Section titled “Schwache Entitätstypen”Ein Entitätstyp, welcher nicht durch seine eigenen Attribute, sondern nur durch seinen Bezug zu einem anderen Entitätstyp identifiziert werden kann, heißt schwacher Entitätstyp.
Ein Bespiel hierfür wäre die folgende Relation, welche nur durch den Fremdnschlüssel SchulNr identifiziert
werden kann.
Schule(_SchulNr_, Name, PLZ, Ort, StraßenNr)Klasse(_Bezeichnung_, ↑SchulNr, AnzahlSchüler)Im ER-Diagramm werden solche Entitätstypen mit einer Doppellinie dargestellt.
Mehrwertige Attribute
Section titled “Mehrwertige Attribute”Mehrwertige Attribute werden in einem Oval mit einer Doppellinie dargestellt. In der Überführung ins Relationenmodell wird hier eine eigene Relation für solch ein Attribut benötigt.
Im Relationenmodell:
Lehrkraft(_LehrerNr_)Fach(↑LehrerNr, Fachbezeichnung)Beziehungen
Section titled “Beziehungen”Assoziationen
Section titled “Assoziationen”Assoziationen beschreiben die Abhängigkeiten zweier Entitäten. Es gibt gerichtete (unidirektionale) und ungerichtete (bidirektionale) Assoziationen. Gerichtete Assoziationen werden grafisch mit Pfeilen, während ungerichtete Assoziationen mit Linien dargestellt werden. In Modell werden diese mithilfe von Rauten dargestellt
Ungerichtete Assoziation
Gerichtete Assoziation
Kardinalität
Section titled “Kardinalität”Kardinalität beschreibt die quantitative Relation zwischen zwei Entitäten. Hier gibt es drei Möglichkeiten.
-
1:1 Kardinalität
Ein Messer kann immer nur eine Scheide haben, und in einer Scheide kann immer nur ein Messer enthalten sein.
-
1:n Kardinalität
Eine Wohnung kann mehrere Möbelstücke enthalten, allerdings ist ein konkretes Möbelstück zu einer Zeit immer nur in einer Wohnung.
-
n:m Kardinalität
Eine Hauswand kann viele Farben haben, und eine Farbe kann auf vielen Hauswänden bestrichen sein. Es ist wichtig zu wissen, dass die konrete Anzahl (
mundn) voneinander unabhängig sind.\
Multiplizität
Section titled “Multiplizität”Die quantitative Spezifikation von Kardinalität kann weiter verfeinert werden. Multiplizität hier beschreibt, wie viele Entitäten mindestens und maximal mit einer anderen Entität assoziiert sein können.
In diesem Beispiel besitzt eine Pferdestall-Entität immer entweder 1 oder 2 Pferde.
Optionalität
Section titled “Optionalität”Die Beziehung zwischen Entitäten kann auch durch optionalität modelliert werden.
Oftmals wird diese mit einer Multiplizität beschrieben (0..n).
Diese kann auch als normale Assoziation dargestellt werden:
Beschrieben werden kann auch eine Bedingung:
is a-Beziehung
Section titled “is a-Beziehung”Die is a-Beziehung ist das ER-equivalent von Ableitung bei Klassen. Jede is a-Beziehung hat
die Kardinalität 1:1 und die Optionalität muss:kann. Auf diese Angabe wird aber typischerweise
verzichtet. Durchgesetzt wird die Ableitung mithilfe eines Fremdschlüssels.
Im Relationenmodell könnte ein Angestellter durch seine PersonalNr identifiziert werden:
Angestellter(↑PersonalNr, RaumNr, TelefonNr)Ternäre Beziehungstypen
Section titled “Ternäre Beziehungstypen”Stellt die Beziehungen zwischen drei Entitätstypen dar. Im Relationsmodell entsteht eine weitere Relation, welche die Primärschlüssel der drei Entitäten und u.U. vorhandene Beziehungsattribute enthält.
Wird im Relationenmodell wie folgt dargestellt:
Artikel(_ArtikelNr_, ...)Hersteller(_HerstellerNr_, ...)Projekt(_ProjektNr_, ...)
; Alle drei Fremdschlüssel sind teil des PrimärschlüsselsLieferung(↑_HerstellerNr_, ↑_ArtikelNr_, ↑_ProjektNr_)Bei ternären Beziehungen ist es wichtig zu wissen, dass die Beziehungen immer nur dann gelten, wenn die anderen beiden Entitäten present sind. In dem Beispiel also gibt es genau einen Hersteller für die Artikel der Projekte. Die richten Relationen lauten also:
- Ein Artikel muss von
mProjekten betruet werden und wird von genau einem Hersteller hergestellt. - Ein Projekt wird von genau einem Hersteller betreut, kann aber
nArtikel betreuen. - Ein Hersteller kann
nArtikel und mussmProjekte betreuen.
Zusammengesetzte Attribute
Section titled “Zusammengesetzte Attribute”Im ER-Diagramm kann man ein zusammengesetztes Attribut, wie z.B. verwenden. Im Relationenmodell muss dieses in einzelne Attribute aufgeteilt werden, damit die 1. Normalform eingehalten wird.
Kann somit auf das folgende Relationenmodell aufgeteilt werden.
Person(_Name_, StraßeNr, PLZ, Ort)