Kostenloses Tool

SQL als ER-Diagramm

Fügen Sie CREATE-TABLE-Anweisungen oder den vollständigen Dump eines Datenbankschemas ein und erhalten Sie ein ER-Diagramm: jede Tabelle mit ihren Spalten und Schlüsseln und eine Linie für jeden Fremdschlüssel. Der SQL-Dialekt wird automatisch erkannt – PostgreSQL, MySQL und MariaDB, SQL Server, SQLite und teilweise Oracle. Zum Ausprobieren brauchen Sie kein Konto.

Beispielausgabe

Beispieldiagramm aus einem SQL-Beispiel
Beispiel ausprobierenOnlineshop (PostgreSQL)Mandantenfähiges SaaS (PostgreSQL)Shop mit Produktkatalog (MySQL)Personal und Gehalt (SQL Server)Notiz-App (SQLite)Onlineshop (Oracle)

So funktioniert es

  1. SQL einfügen oder ablegen

    CREATE-TABLE-Anweisungen, eine Migrationsdatei oder ein vollständiger Dump aus pg_dump, mysqldump, SSMS oder sqlite3. Mehrere .sql-Dateien können Sie gleichzeitig ablegen; sie werden zusammen gelesen, bis insgesamt 8 MB.

  2. ER-Diagramm ansehen

    Jede Tabelle wird zu einer Karte, die ihre Spalten mit Typ und den Markierungen PK, FK und UK auflistet. Jeder Fremdschlüssel wird zu einer Linie von der Spalte, die ihn enthält, zum Schlüssel, auf den er verweist.

  3. In Archboard öffnen

    Speichern Sie es als neues Diagramm, um es umzuordnen, zu kommentieren, per Link zu teilen oder als SVG und PNG zu exportieren. Für die Registrierung genügt ein Google- oder GitHub-Konto.

Was aus Ihrem SQL gezeichnet wird

Das Diagramm entsteht aus diesen Teilen der CREATE-TABLE-Anweisungen:

  • CREATE TABLE

    Jedes CREATE TABLE als Karte mit dem Namen der Tabelle und einer Zeile pro Spalte: Name, Typ und ein Fragezeichen, wenn die Spalte NULL zulässt. Karten zeigen bis zu 24 Spalten und danach die Zahl der übrigen.

  • PRIMARY KEYUNIQUE

    Primärschlüssel, mit PK an jeder Spalte markiert, die sie umfassen, auch wenn es mehrere sind. Ein UNIQUE-Constraint oder ein mit CREATE UNIQUE INDEX angelegter eindeutiger Index auf einer einzelnen Spalte markiert diese Spalte mit UK.

  • FOREIGN KEYREFERENCESALTER TABLE

    Fremdschlüssel, ob inline mit REFERENCES, als Tabellen-Constraint oder nachträglich per ALTER TABLE angelegt, jeweils als Linie zwischen den beiden Spalten. Auch ein Schlüssel, der auf die eigene Tabelle zurückzeigt, etwa parent_id, wird dargestellt.

  • CREATE SCHEMA

    Schemas, ob mit CREATE SCHEMA angelegt oder in Namen wie sales.orders verwendet, als Rahmen um ihre Tabellen, sofern das SQL mehr als ein Schema nutzt. Ein Schema ohne Tabellen bekommt keinen Rahmen.

  • NOT NULLUNIQUE

    Krähenfuß-Enden, die die Beziehung aus den Spalten ableiten: Ein Fremdschlüssel mit NOT NULL ist verpflichtend, einer, der NULL zulässt, optional – und ist der Fremdschlüssel zugleich eindeutig oder der Primärschlüssel, ist die Beziehung eins zu eins.

Welche SQL-Dialekte gelesen werden

PostgreSQL, MySQL und MariaDB, SQL Server und SQLite werden jeweils mit ihren eigenen Regeln für Quoting, Kommentare und Anweisungstrenner gelesen. Eine pg_dump-Datei, ein mysqldump mit DELIMITER-Blöcken oder ein SSMS-Skript voller GO-Zeilen funktioniert deshalb unverändert. Oracle wird teilweise gelesen: Tabellen, Schlüssel und Fremdschlüssel werden gezeichnet, PL/SQL-Blöcke, die mit einer einzelnen Schrägstrich-Zeile enden, werden übersprungen. Widersprechen sich die Hinweise, übernimmt ein generischer Leser, und Sie können den Dialekt jederzeit selbst wählen.

Was das ER-Diagramm nicht zeigt

  • Datenzeilen. INSERT, COPY und andere Datenanweisungen werden ungelesen übersprungen; ein Dump mit Daten ergibt also dasselbe Diagramm wie ein reiner Schema-Dump.
  • Views, Funktionen, Prozeduren, Trigger und Sequenzen. Sie werden übersprungen, und die Vorschau nennt, wie viele jeder Art ausgelassen wurden. Views und Trigger, die mysqldump in Versionskommentare schreibt, werden als Kommentare übersprungen und nicht gezählt.
  • Standardwerte, CHECK-Ausdrücke, Kommentare und die erlaubten Werte von ENUM- und SET-Spalten. Spalten zeigen nur Name, Typ und Schlüsselmarkierungen.
  • Alles aus einem laufenden Server. Das Tool liest den SQL-Text, den Sie ihm geben, und verbindet sich mit keiner Datenbank; Zeilenzahlen, Tabellengrößen und Abfragepläne erscheinen deshalb nicht.

Fragen zu SQL als ER-Diagramm

Welche SQL-Dialekte werden unterstützt?

PostgreSQL, MySQL und MariaDB, SQL Server und SQLite, dazu teilweise Oracle. Der Dialekt wird an Hinweisen wie Backticks, GO-Zeilen oder Dollar-Quoting erkannt, und die Vorschau nennt den verwendeten Dialekt. Liegt die Erkennung daneben, wählen Sie einen anderen aus der Liste; die Auswahl bleibt bestehen. Für andere Datenbanken liest ein generischer Leser die üblichen CREATE-TABLE- und ALTER-TABLE-Anweisungen.

Kann ich einen vollständigen Dump mit Daten einfügen?

Ja. INSERT- und COPY-Anweisungen werden zusammen mit SET-Zeilen, Kommentaren und anderem Dump-Ballast ungelesen übersprungen, sodass das Diagramm genauso aussieht wie bei einem reinen Schema-Dump. Ein reiner Schema-Dump ist aber kleiner und schneller gelesen: pg_dump --schema-only, mysqldump --no-data oder sqlite3 mit .schema.

Wie groß darf ein Schema sein?

Bis zu 8 MB SQL und 1.000 Tabellen. Text über 2 MB wird nicht im Textfeld angezeigt, aber trotzdem gelesen. Das Diagramm selbst fasst bis zu 2.000 Elemente, wobei Tabellen, Linien und Schema-Rahmen zusammen zählen; ein stark verknüpftes Schema kann diese Grenze also zuerst erreichen. Dann hilft es, ein Schema nach dem anderen zu exportieren.

Funktioniert es mit Oracle?

Teilweise. Oracle-Skripte, etwa aus SQL Developer, werden an VARCHAR2, NUMBER und einzelnen Schrägstrich-Zeilen erkannt, oder Sie wählen Oracle in der Dialektliste. CREATE TABLE, Primärschlüssel, UNIQUE-Constraints und per ALTER TABLE ergänzte Fremdschlüssel werden gezeichnet. PL/SQL-Pakete, Trigger und andere Blöcke, die mit einer Schrägstrich-Zeile enden, werden übersprungen, ebenso CONNECT- und GRANT-Anweisungen.

Was wird gespeichert, wenn ich das Diagramm in Archboard öffne?

Die Vorschau wird nicht gespeichert. Wenn Sie In Archboard öffnen wählen, wird das gezeichnete Diagramm, also die Tabellenkarten mit Spaltennamen und Typen und die Linien dazwischen, als neues Diagramm in Ihrem Workspace gespeichert. Es ist eine Momentaufnahme: Spätere Änderungen am Schema aktualisieren es nicht.

Ist das Tool für SQL als ER-Diagramm kostenlos?

Ja. Für das Einfügen von SQL und die Ansicht des Diagramms brauchen Sie kein Konto. Zum Öffnen des Diagramms in Archboard genügt ein kostenloses Konto.

In einer Minute ein Canvas öffnen

Melden Sie sich mit Google oder GitHub an. Kostenlos für einen Sitzplatz. Upgrade, wenn das Team dazukommt.