ER-Diagramm und Chen-Notation
Ein ER-Diagramm (Entity-Relationship-Diagramm, ERD) stellt ein Datenmodell grafisch dar: welche Objekte eine Datenbank speichern soll, welche Eigenschaften sie haben und wie sie zusammenhängen. Es entsteht vor den Tabellen und ist unabhängig vom späteren Datenbanksystem (konzeptioneller Entwurf).
Grundbegriffe
- Entität: Ein einzelnes, eindeutig unterscheidbares Objekt, z. B. die Abteilung „Vertrieb“.
- Entitätstyp: Gleichartige Entitäten, zusammengefasst unter einem Namen, z. B. Abteilung. Wird später zur Tabelle.
- Attribut: Eigenschaft eines Entitätstyps, z. B. Bezeichnung. Wird später zur Spalte.
- Schlüsselattribut: Attribut, das jede Entität eindeutig identifiziert, z. B. AbtNr. Wird später zum Primärschlüssel.
- Beziehungstyp: Zusammenhang zwischen Entitätstypen, z. B. „Abteilung beschäftigt Mitarbeiter“. Ein Beziehungstyp kann eigene Attribute haben, z. B. „seit“.
Elemente der Chen-Notation
| Symbol | Bedeutung | Beispiel |
|---|---|---|
| Rechteck | Entitätstyp | Abteilung |
| Raute | Beziehungstyp | beschäftigt |
| Oval | Attribut | Name |
| Oval, unterstrichen | Schlüsselattribut | PersNr |
| 1, n, m an der Linie | Kardinalität | 1:n |
Gelesen: Eine Abteilung beschäftigt n Mitarbeiter, jeder Mitarbeiter gehört zu genau einer Abteilung. Die Zahl an einem Entitätstyp gibt an, wie viele davon zu einer Entität der Gegenseite gehören.
Kardinalitäten
Die Kardinalität beschreibt, mit wie vielen Entitäten der anderen Seite eine Entität in Beziehung stehen kann.
| Kardinalität | Bedeutung | Beispiel |
|---|---|---|
| 1:1 | Jeder Entität A ist höchstens eine Entität B zugeordnet und umgekehrt. | Mitarbeiter hat Dienstausweis |
| 1:n | Einer Entität A sind mehrere B zugeordnet, jedes B gehört zu genau einem A. | Abteilung beschäftigt Mitarbeiter |
| n:m | Einer Entität A sind mehrere B zugeordnet und umgekehrt. | Schüler belegt Kurs |
Genauer ist die (min,max)-Notation. Sie steht an jedem Entitätstyp und gibt an, wie oft eine seiner Entitäten mindestens und höchstens an der Beziehung teilnimmt, z. B. Abteilung (0,n) und Mitarbeiter (1,1). Damit steht sie auf der anderen Seite als die Chen-Kardinalität.
In Datenbankwerkzeugen ist die Krähenfußnotation (Crow's Foot) verbreitet: Entitätstypen sind Kästen mit Attributliste, die Kardinalität steht als Linienende. Ein Strich bedeutet eins, der gespreizte „Krähenfuß“ viele.
Vom ER-Diagramm zu Tabellen
- Entitätstyp: wird zur Tabelle, die Attribute werden Spalten, das Schlüsselattribut wird Primärschlüssel.
- 1:1: Eine der beiden Tabellen bekommt den Primärschlüssel der anderen als Fremdschlüssel. Oft lassen sich beide Tabellen auch zusammenlegen.
- 1:n: Die Tabelle auf der n-Seite bekommt den Fremdschlüssel. Im Beispiel erhält Mitarbeiter die Spalte AbtNr, auch das Attribut „seit“ landet dort.
- n:m: Lässt sich nicht direkt umsetzen. Eine Zwischentabelle nimmt die Primärschlüssel beider Seiten als Fremdschlüssel auf, zusammen bilden sie ihren Primärschlüssel. Attribute der Beziehung stehen ebenfalls in der Zwischentabelle.