Gute Beziehungen mit draw.io: Mit Entity-Relationship-Diagrammen Daten anschaulich visualisieren

Header ER-Diagramme / UML-Diagramme mit draw.io

In diesem Blogpost zeigen wir dir, wie du mit Hilfe von draw.io aussagekräftige Entity-Relationship-Diagramme erstellen und clever nutzen kannst. Also, keine Angst vor komplexen Herausforderungen: Mit unseren Tipps wirst du in Windeseile zum ERD-Profi!

Mach mehr aus deinen Daten!  

Entity-Relationship-Diagramme, kurz ERD, sind eine Art Flussdiagramm, das die Beziehungen zwischen “Entitäten” – das können Menschen, Objekte, Konzepte usw. sein – abbildet. ERD oder auch ER-Modelle zeigen also die Daten in jedem System. 

Mit ihrer Hilfe kannst du beispielsweise veranschaulichen, wie Daten in Geschäftsprozessen strukturiert sind, oder detailliert darstellen, wie genau Daten in relationalen Datenbanken gespeichert sind. Allerdings zeigen sie nicht, wie die Daten “manipuliert” werden oder wie der dahinterliegende Prozess aussieht. Du kannst lediglich ableiten, wie die Dateneinheiten strukturiert sind und wie sie zueinander in Beziehung stehen. 

Viele Softwareentwickler*innen sind eher mit UML-Diagrammen vertraut, beispielsweise Klassendiagrammen. Das ist auch kein Wunder, denn sie wurden extra entwickelt, um die objektorientierte Programmierung zu unterstützen. Daher gehören auch Funktionen wie Vererbung, Kapselung und Sub-Typisierung dazu. 

ER-Diagramme sind vereinfachte Klassendiagramme: Vor allem im Bereich Datenbankentwicklung können sie gute Dienste leisten, wenn es darum geht, komplexe, objektorientierte Programme zu erstellen. Denn sie sind meist einfacher zu benutzen als die gängigen UML-Diagramme.   

Was ist ein Entity-Relationship-Modell?

Es gibt verschiedene Notationen für ER-Diagramme. Möglicherweise kennst du die gängigsten: Zum einen die Chen-Notation, zum anderen die Crow’s-Foot-Notation. In der Chen-Notation werden die Entitäten in Form von Rechtecken und die Beziehungen durch Rauten visualisiert. Die Crow’s-Foot-Notation verwendet ebenfalls Rechtecke für die Entitäten, die Beziehungen erscheinen jedoch als Linien zwischen den Boxen, deren Enden unterschiedlich aussehen können. Zusätzlich kann die Art der Beziehung an die Linien geschrieben werden. 

Es sind hauptsächlich zwei Stile vertreten: Der eine ähnelt dem eines Flussdiagramms, der andere einem UML-Klassendiagramm. Wenn du die tatsächliche Datenbankarchitektur ablesen möchtest, ist dies beim zweitgenannten Stil etwas einfacher.

Abb. 1 ER-Diagramme mit draw.io: Modell der Habit Tracker App

 Abb.: Ein Entity-Relationship-Diagramm mit Basis-Shapes, die die Beziehungen repräsentieren.

 

 

 

 

 

 

 

 

Abb. 2: ER-Diagramme mit draw.io - die Habit Tracker App im Stil eines UML-Diagramms

 

 

Abb.: Das gleiche Diagramm in einem anderen Stil – hier werden die Attribute in den Entitäten selbst aufgelistet. 

 

 

 

 

 

 

Wir schauen genauer hin: die Entity-Relationship-Notationen

In ERD gibt es drei verschiedene Komponenten:

  1. Attribute

Das sind die Bestandteile der Daten, aus denen sich eine “Entität” zusammensetzt. Im ersten Diagrammstil sind sie als Kreise dargestellt, die um die jeweilige Entität herum schweben. Im UML-ähnlichen Stil werden sie innerhalb des Rechtecks aufgelistet.

Wenn ein Attribut dazu verwendet wird, um eine Entität zu identifizieren, ist es der Primärschlüssel und wird unterstrichen. Bezieht es sich auf das identifizierende Attribut einer anderen Entität, ist es ein Fremdschlüssel und wird in diesem Fall kursiv gesetzt.

Wenn du ein Attribut aus anderen Attributen berechnest, gilt es als abgeleitetes Attribut und erhält einen gestrichelten Umriss.

Abb. 3 ER-Diagramme mit draw.io: Attribute werden um eine Entität herum angeordnet, zu der sie gehören (können)

  1. Beziehungen

Abb. 4 ER-Diagramme mit draw.io: Beziehungen und Entitäten dargestellt als Linien und RautenBeziehungen zeigen, wie Entitäten miteinander zusammenhängen. Je nach Diagrammstil werden sie entweder als Raute oder als reiner Text neben der verbindenden Linie (“Konnektor”) zweier Entitäten dargestellt. 

In der ersten Diagrammdarstellung ganz oben im Beitrag siehst du, dass sowohl User als auch Coach Kommentare schreiben und dass der User gewohnheitsgemäß einen Check-in durchführen kann. Beide Aktionen fehlen im zweiten Diagramm: Es stellt lediglich die Daten dar, nicht aber stattfindende Interaktionen.   

Die Beziehungs-Konnektoren nutzen die Crow’s-Foot-Notation, um zu verdeutlichen, wie viel bzw. welche Anteile einer Entität mit einer anderen Entität verknüpft sind. Ein Beispiel: In der App “Habit Tracker” kann ein Coach zwischen 0 und vielen Usern haben. Ein User kann allerdings entweder 0 oder einen Coach haben, nicht aber viele. Nutzer*innen können viele Gewohnheiten haben, und jede Gewohnheit kann vielen verschiedenen Nutzer*innen zugeordnet sein. 

Unser Tipp: Hovere mit der Maus über jeden Shape in der “Entity Relation”-Bibliothek, um herauszufinden, welcher Typ es ist (z. B. “Associative Entity”, Weak Key Attribute” usw.). 

Abb. 5 ER-Diagramme in draw.io: Erstellen eines ERD nach der Crow's-Foot-Notation

  1. Entitäten

Abb. 6 ER-Diagramme in draw.io: Unterschiedliche Arten von Attributen und EntitätenEntitäten repräsentieren eine Ansammlung von Daten. Sie werden entweder als Rechteck dargestellt, um die herum die Attribute angeordnet werden können, oder als Kasten, in dem eine Liste von Attributen aufgeführt ist. 

Es gibt verschiedene Arten von Entitäten. So gibt es beispielsweise “Weak Entities”, also “schwache Entität” (dargestellt als doppeltes Rechteck). Diese Bezeichnung speist sich daher, dass eine solche Entität keinen eigenen, eindeutigen Schlüssel hat – sie existiert nur in Bezug auf eine andere Entität, zu der sie gehört.

Eine “Associative Entity” (diese sieht man in der 2. Diagrammansicht gut) wird mit einer gestrichelten Linie und einem ebensolchen Konnektor visualisiert. Diese Art von Entität benötigst du immer dann, wenn es sehr vielseitige (“many-to-many”) Beziehungen gibt. Möchtest du eine Associative Entity im ersten Diagrammstil erstellen, wählst du zunächst ein “Entity”-Shape und anschließend ein “Relationship”-Shape aus und gruppierst dann beide Shapes.     

Ein Beispiel: Die Entität “Student*in” kann als Attribute die ID des Studierenden, Namen, Adresse, Kurse, Themen sowie Noten enthalten. Eine zweite Entität, die ähnlich aufgebaut ist, könnte “Kurs” sein. Dieser würden die Attribute Professor*in/Dozent*in, eine Liste der eingeschriebenen Student*innen und die Themen, die im Kurs behandelt werden, umfassen. Dieses Muster lässt sich beliebig oft reproduzieren. 

Kommen wir noch einmal auf unser Beispiel mit der Habit-Tracker-App zurück. Darin lauten die Entitäten: Nutzer*in, Coach, Check-in und Kommentare. 

Abb. 7 ER-Diagramme in draw.io: Darstellung einer "Associative Entity"

Erstelle ein Entity-Relationship-Diagramm in draw.io

Zunächst musst du die Entity-Relation-Bibliothek aktivieren: Dazu klickst du ganz unten im linksseitigen Menü auf “+ Mehr Shapes”. Im sich öffnenden “Shapes”-Menü musst du nun “Entity Relation” aktivieren, dann nur noch auf “Anwenden” klicken – und alle entsprechenden Shapes stehen dir zur Verfügung!

Abb. 8 ER-Diagramme mit draw.io: Weg zur Entity Relation Bibliothek in draw.io

Um Attribute darzustellen, nutze die Kreis-Form aus der “Allgemein”-Bibliothek.

Shapes verbinden, um Beziehungen anzuzeigen

Auch hier hast du mehrere Möglichkeiten: So kannst du beispielsweise die Konnektoren aus der Entity-Relation-Bibliothek nutzen. Ziehe einfach deinen gewählten Konnektor auf das Board und verbinde ihn dann mit den entsprechenden Shapes.

Abb. 9 ER-Diagramme in draw.io: Die Formen-Bibliothek in draw.io - Entity Relation Tab

Alternativ kannst du auch eine vorhandene Form duplizieren: Dazu hältst du die STRG-Taste (Windows) bzw. die CMD-Taste (macOS) gedrückt und ziehst dann einen Konnektor aus einem der blauen Pfeile, die angezeigt werden, wenn du den Mauszeiger über eine nicht ausgewählte Form bewegst. Dann loslassen – und schon hast du die Form dupliziert und sie automatisch mit deiner Vorlage verbunden. Anschließend kannst du den passenden Konnektor auswählen und seinen Start- und End-Stil mithilfe der Dropdown-Liste im “Style”-Menü ändern. 

Abb. 10 ER-Diagramme in draw.io: Verschiedene Darstelllungsoptionen für Konnektoren

7 Tipps für gute ER-Diagramme mit draw.io

#1: Gleitende Konnektoren

Wir empfehlen dir, gleitende Konnektoren zu nutzen, wenn du Beziehungen visualisieren willst. Das funktioniert wie folgt: Bewege den Mauszeiger über die Form, bis ihr Umriss blau wird. Achte darauf, sie NICHT mit einem der Verbindungspunkte zu verbinden! Wenn du dann die Formen verschiebst, um Platz zu schaffen, “gleiten” oder “schweben” auch die Verbindungsstücke an die richtige Stelle.

Wenn du keine gleitenden Verbindungspunkte um das Shape herum haben willst, kannst du sie an den festen Verbindungspunkten (die kleinen Kreuze, die grün hervorgehoben werden, sobald du mit der Maus über die Form fährst) anbringen. 

Abb. 11 ER-Diagramme in draw.io: Gif Konnektoren anbringen

#2: Verwende Vorlagen für deine Shapes

Nutze den “Notizblock” im linksseitigen Menü, um Gruppen von Shapes zu speichern, damit du nicht jede Form von Grund auf neu erstellen musst. Wenn du hauptsächlich mit dem zweiten Diagrammstil (UML-ähnlich) arbeitest, dann erstelle eine Vorlage mit so vielen zusätzlichen Zeilen für die Attribute, wie du normalerweise benötigst. In diesem Beitrag zeigen wir dir, wie du den Notizblock wirkungsvoll einsetzen kannst, um deine ER-Diagramme in draw.io schnell und einfach zu konstruieren. 

#3: Exportieren als Text

Du möchtest eine Textliste von Entitäten, deren Attributen und Schlüsseln anlegen? Kein Problem! Dazu verwendest du einfach das draw.io Text-Plugin und exportierst deine gewünschten Daten in eine Textdatei. Tipp: Hier erzielst du bessere Ergebnisse, wenn du den zweiten Diagrammstil (UML) nutzt. 

#4: Füge zusätzliche Attribute zu Entitäten hinzu

Manchmal bieten die Formen deiner Entitäten nicht genug Platz für alle Attribute, die du benötigst. Dieses Dilemma kannst du einfach lösen, indem du eine bestehende Attributzeile duplizierst. Wähle  eine bereits existierende Zeile aus und drücke CTRL+Enter (oder CMD+Enter auf macOS) – damit dupliziert du die Zeile. Alternativ kannst du mit der rechten Maustaste auf die Zeilenform klicken, “Duplizieren” wählen und dann den Text bearbeiten. Natürlich ist es auch möglich, neue Attributzeilen aus der Shapes-Bibliothek zu ziehen und innerhalb der Entity-Form abzulegen.

Bearbeite eine Attributzeile, indem du sie auswählst und dann die Eingabetaste drückst. Sobald du fertig bist, drücke CTRL+Enter/CMD+Enter – damit beendest du die Textbearbeitung. Mit Hilfe der Pfeiltasten gelangst du zum nächsten Objekt. Oder du dupliziert es, wieder mit STRG+Enter/CMD+Enter.

Abb. 12 ER-Diagramme in draw.io: Attribute zu Entitäten zuordnenAbb. 13: ER-Diagramme in draw.io: Neue Zeile bei den Attributen einfügen

 

 

 

 

 

 

 

 

 

 

 

#5: Nutze mehrere Seiten für dein Diagramm

Du musst nicht alles auf eine einzige Seite quetschen! Nutze eine eigene draw.io-Seite für jedes Sub-Diagramm und füge Links von einer Form zu deiner Seite hinzu, damit Betrachter*innen leichter durch dein Diagramm navigieren können. Dazu klickst du mit der rechten Maustaste auf ein Shape, wählst “Verknüpfung bearbeiten”, suchst die passende Seite aus der zweiten Dropdown-Liste, “Anwenden” anklicken – fertig.  

#6: Entitäten erweitern oder reduzieren

Manche Entitäten haben viele Attribute. Dadurch kann dein Diagramm schnell überladen wirken. Mach’ es den Betrachter*innen einfacher: Du kannst Entitäten erweitern oder reduzieren, indem du auf das Minus- oder Plus-Symbol oben links neben dem Titel der Entität klickst. Die Konnektoren werden dann automatisch neu angeordnet.

#7: Einfügen von Entitäten aus einer Textdatei

Entitäten direkt aus SQL-Code einfügen? Kein Problem! Dafür klickst du im Menü auf “Anordnen”, dann auf “Einfügen” und anschließend auf “Erweitert”. Im Dialogfeld kannst du nun “SQL” auswählen. Du siehst beispielhaften Code – hier kopierst du deinen SQL-Code rein und klickst auf “Einfügen”. 

Komm in die Welt von draw.io!

Wenn du mehr Infos über UML-Diagramme im Allgemeinen brauchst, legen wir dir diesen Blogpost ans Herz. Oder kennst du draw.io noch nicht so gut? Dieses Tutorial macht dich zum draw.io-Fan und echten Profi: https://drawio-app.com/draw-io-self-directed-training-course/ 

Und wenn du schon dabei bist – dann sichere dir doch einfach direkt deine 30-tägige, kostenfreie Testversion auf dem Atlassian Marketplace:

 

Unser Customer-Sucess-Team ist ebenfalls immer gerne für dich da: Vereinbare einfach einen Demo-Termin und lass dir von unseren Kolleg*innen zeigen, was draw.io kann und wie es deinen Job (und den deines gesamten Teams) einfacher und produktiver machen kann. Hier gehts zur unverbindlichen Demo:

 

Folge uns gerne auf Social Media: In unserer Community teilen draw.io-Nutzer*innen häufig Tipps und Tricks, wie sie ihre Herausforderungen mit draw.io gemeistert haben. 

Happy Diagramming! 

 

Weiterführende Infos

Erster! draw.io ist die 1. Diagramm-App in Forge

Bessere Prozessplanung mit draw.io und Treiberdiagrammen – ein Beispiel aus dem Gesundheitswesen

draw.io präsentiert: Warum du ein Diagramm-Tool nutzen solltest, das eine Integration in Confluence/Jira bietet

“I 🧡 draw.io” #3: Wertvolle Tipps für bessere UML-Diagramme