Mermaid Diagram Editor

Mermaid ER Diagramm Generator: Entity-Relationship-Diagramme

Erstelle ER Diagramme mit Mermaid Syntax. Definiere Entitäten, Attribute, Typen und Beziehungen mit Kardinalitätsnotation. Live Vorschau.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

Vorlagen:

Editor wird geladen...

Diagrammvorschau erscheint hier...

Verwandte Werkzeuge

Mermaid ER Diagramm Syntax

Entity-Relationship-Diagramme bilden visuell Datenbankschemata ab. Jede Entität ist eine Tabelle, jedes Attribut ist eine Spalte, und Linien zwischen Entitäten zeigen, wie Tabellen durch Fremdschlüssel verbunden sind. Mermaids ER Syntax ermöglicht es, dies alles als Klartext zu definieren und das gerenderte Diagramm während der Eingabe aktualisiert zu sehen.

Entitäten und Attribute

Definiere eine Entität mit ihren Attributen in geschweiften Klammern:

erDiagram
    USER {
        int id PK
        string email UK
        string name
        string password_hash
        timestamp created_at
    }

Jede Attributzeile hat drei Teile: typ name einschränkung. Die Einschränkung (PK, FK, UK) ist optional.

Beziehungen

Beziehungen verbinden Entitäten und spezifizieren die Kardinalität:

CUSTOMER ||--o{ ORDER : "places"

Das bedeutet: ein KUNDE gibt null oder mehr BESTELLUNGEN auf. Die Beschriftung nach dem Doppelpunkt beschreibt das Verb der Beziehung.

Kardinalitätssymbole

Linke SeiteSymbolBedeutung
Genau eins`
Null oder eins`o`
Eins oder mehr`}`
Null oder mehr}oOptional, beliebig viele

Die Beziehungslinie ist -- zwischen den beiden Seiten. Also bedeutet ||--o{ “genau eins auf der linken Seite, null oder mehr auf der rechten Seite.”

Häufige Muster

BeziehungSyntaxBeispiel
Eins zu viele`
Viele zu eins`}o—
Eins zu eins`
Viele zu viele (via Junction)Zwei `

Modellierungsmuster

Eins zu viele (am häufigsten)

erDiagram
    AUTHOR ||--o{ BOOK : writes
    AUTHOR {
        int id PK
        string name
    }
    BOOK {
        int id PK
        string title
        date published
        int author_id FK
    }

Der Fremdschlüssel author_id in BOOK ist der Mechanismus, der diese Beziehung in der Datenbank implementiert. Entitäten enthalten normalerweise den FK als Attribut; das ER Diagramm zeigt beides: die Beziehungslinie für das konzeptuelle Modell und das FK Attribut für die Implementierung.

Viele zu viele (mit Junction)

erDiagram
    STUDENT ||--o{ ENROLLMENT : registers
    ENROLLMENT ||--o{ COURSE : for
    STUDENT {
        int student_id PK
        string name
    }
    COURSE {
        int course_id PK
        string title
    }
    ENROLLMENT {
        int student_id PK, FK
        int course_id PK, FK
        date enrolled_on
        string grade
    }

Die ENROLLMENT Tabelle ist die Junction-Tabelle. Der zusammengesetzte Primärschlüssel besteht aus beiden Fremdschlüsseln. Die Attributspalte grade wäre in den Tabellen STUDENT oder COURSE nicht sinnvoll, daher ist die Junction-Tabelle der richtige Ort.

Erstelle andere Diagrammtypen mit dem Mermaid Editor oder sieh dir den Flussdiagramm Generator für Prozessabläufe an.