Datenbank- und SQL-Werkzeuge

ER-Diagramm aus SQLmit deklarierten Beziehungen

DDL als Diagramm und Spaltenverzeichnis lesen. Wählen Sie den Dialekt der Eingabe und prüfen Sie offene Referenzziele.

ER-Diagramm aus SQL

SQL-DDL-Eingabe

Strukturübersicht

SQL eingeben oder ein Beispiel wählen.

Verarbeitung lokal im Browser. Keine Datenbankverbindung und keine gespeicherte Historie.

Dialekt und Auslegung

Nur CREATE TABLE und CREATE INDEX mit benannten Spalten. Kanten entstehen ausschließlich aus Fremdschlüsseln; SQL wird nicht ausgeführt.

Maximal 50.000 UTF-16-Einheiten, 50 Tabellen und 1.000 Spalten; Schlüssel, Indizes, CHECKs und Fremdschlüssel zusammen höchstens 200. Anzeige in 50er-Schritten.

TypeScript beschreibt gelesene Zeilen: große Ganzzahlen und exakte Dezimalwerte als string, unbekannte sowie SQLite-Typen als unknown. Treiberzuordnung prüfen.

Ergebnis veraltet. Vor dem Export die aktuelle Eingabe verarbeiten.

Ein ER-Diagramm aus SQL hilft beim Review, wenn nur ein DDL-Skript und kein Datenbankzugang vorliegt. Zusammengesetzte Schlüssel und Verweise auf Tabellen außerhalb des Ausschnitts lassen sich dabei leichter nachvollziehen.

Das Beispiel enthält einen Fremdschlüssel, nullable Spalten, einen eindeutigen Schlüssel und einen gewöhnlichen Index. Vergleichen Sie die Ansicht mit dem Quelltext: Ein Name wie customer_id allein begründet noch keine Beziehung.

ER-Diagramm aus SQL mit nachvollziehbaren Kanten

Deklarierte Struktur bleibt von Annahmen über das Fachmodell getrennt.

Nur belegte Verbindungen anzeigen

Ein ER-Diagramm aus SQL verbindet hier ausschließlich Tabellen mit explizitem Fremdschlüssel. Fehlt das Ziel im eingegebenen Ausschnitt, bleibt es als gestrichelter externer Knoten sichtbar. Eine Teilsicht wirkt dadurch nicht versehentlich vollständig.

Drei Tabellenkarten, von denen zwei durch eine deklarierte Referenz verbunden sind und eine separat bleibt.

Eine Struktur, mehrere Prüfansichten

Das Diagramm zeigt Abhängigkeiten, JSON dokumentiert die Struktur und TypeScript liefert einen Entwurf für gelesene Zeilen. Alle Ansichten verwenden dasselbe Analyseergebnis; ein Ansichtswechsel deutet die DDL nicht neu.

Eine Tabellendefinition verzweigt in ein Beziehungsdiagramm, einen Strukturbaum und ein Typdokument.

Vor der Übernahme richtig prüfen

01

Den passenden Dialekt wählen

Die Auswahl ändert Grammatik und Namensregeln, übersetzt aber kein SQL. MySQL benötigt einen separaten FOREIGN KEY; PostgreSQL und SQLite erlauben auch Referenzen direkt an der Spalte.

  • Nach einem Dialektwechsel bleiben Exporte bis zur erfolgreichen Neuanalyse gesperrt.
02

Offene Referenzen abgleichen

Ein Fremdschlüssel kann auf eine Tabelle außerhalb der Eingabe zeigen. Prüfen Sie den gestrichelten Knoten und die Zielspalten, bevor Sie das Datenbankschema als vollständig behandeln.

  • Unqualifizierte Referenzen werden nur unqualifizierten Tabellen zugeordnet; search_path wird nicht simuliert.
03

Den Zeilentyp verstehen

Ein DEFAULT macht eine Eigenschaft einer gelesenen Zeile nicht optional. Exakte Zahlen werden string, bekannte nullable Typen erhalten eine Vereinigung mit null.

  • Bei ausgeschalteter Automatik startet auch Strg/Cmd + Enter die Analyse.

Von Tabellen zu prüfbaren Strukturartefakten

Drei bewusst gewählte Grammatiken

Unterstützte SQL-DDL aus MySQL, PostgreSQL und SQLite wird geparst. Qualifizierte Namen und zitierte Bezeichner bleiben erhalten; PostgreSQL-Namen ohne Anführungszeichen werden in Kleinschreibung normalisiert.

Zusammengesetzte Schlüssel

Primärschlüssel und eindeutige Schlüssel behalten ihre geordneten Spaltenlisten. Fremdschlüssel speichern beide Seiten der Zuordnung. Eine Verbindungstabelle bleibt eine Tabelle und wird nicht in eine vermutete fachliche M:N-Beziehung umgewandelt.

Spalten mit ihrem Originaltext

Prüfen Sie SQL-Typ, NULL-Zulässigkeit und Primärschlüsselzugehörigkeit. Die Originaldefinition enthält auch DEFAULT, CHECK und generierte Ausdrücke. Explizite Indizes bewahren Spaltenreihenfolge und Sortierrichtung.

JSON als Strukturinventar

Der Export enthält Tabellenidentitäten, Spalten, Schlüssel, Indizes, Prüfdefinitionen und Referenzen einschließlich offener Ziele. Er dient Dokumentation und weiterverarbeitenden Skripten; er ist kein JSON-Schema-Validator.

Zurückhaltende TypeScript-Typen

Nummerierte Interfacenamen und zitierte Eigenschaften vermeiden ungültigen Code durch SQL-Namen. Zeitwerte werden string, Binärwerte Uint8Array, JSON und unbekannte Typen unknown. Die tatsächliche Zuordnung Ihres Treibers bleibt zu prüfen.

SVG für die Dokumentation

Das vollständige Diagramm lässt sich als SVG speichern. Karten zeigen die ersten fünf Spalten und kürzen lange Namen gegebenenfalls ab. Die Spaltenansicht und JSON enthalten weiterhin alle Definitionen, sodass Übersicht und Detail zusammen nutzbar bleiben.

Grenzen der strukturellen Auswertung

Nur ausgewählte DDL-Anweisungen
CREATE TABLE und CREATE INDEX über benannte Spalten sind vorgesehen. ALTER, INSERT, Views, Trigger, Routinen und CREATE TABLE AS/LIKE stoppen den gesamten Lauf. Ausdrucks-, Präfix- und partielle Indizes werden ebenfalls abgelehnt statt vereinfacht.
Keine fachlichen Beziehungen erraten
Ein Suffix wie _id erzeugt keine Kante. Pfeile belegen weder fachliche Kardinalität noch Eindeutigkeit des Referenzziels oder die Durchsetzung durch eine Speicher-Engine. Fehlende Regeln müssen als echte Bedingungen in die DDL aufgenommen werden.
Keine Serverkonfiguration nachbilden
PostgreSQL faltet unzitierte Namen in Kleinschreibung; zitierte Namen bleiben unverändert. MySQL-Tabellennamen werden exakt, Spaltennamen ohne Beachtung der Großschreibung verglichen. SQLite vergleicht ASCII-Buchstaben ohne Großschreibung. Schemas und search_path werden nicht ergänzt.
MySQL-Spaltenreferenzen ablehnen
MySQL ignoriert REFERENCES innerhalb einer Spaltendefinition. Das Werkzeug verlangt dafür einen separaten FOREIGN KEY, anstatt eine ignorierte Klausel als gültige Beziehung darzustellen. Auch eine Tabellendeklaration beweist keine Durchsetzung zur Laufzeit.
SQLite gesondert auslegen
Ein gewöhnlicher Nicht-INTEGER-Primärschlüssel kann NULL zulassen. Für INTEGER-Primärschlüssel und unterstützte WITHOUT-ROWID-Definitionen gelten die entsprechenden Nicht-NULL-Regeln. Aufgrund dynamischer Typisierung werden SQLite-Zeilenfelder als unknown exportiert.
Feste Verarbeitungsbudgets
Maximal 50.000 UTF-16-Einheiten, 50 Tabellen und 1.000 Spalten. Schlüssel, explizite Indizes, gespeicherte CHECKs und Fremdschlüssel teilen sich 200 Einträge. Hinzu kommen 15.000 Tokens, 32 Klammerebenen und 250 Anweisungen. Überschreitungen blockieren den gesamten Export.
Nur lesen, nichts ausführen
DEFAULT und CHECK werden gespeichert, nicht ausgewertet. Es gibt keinen Datenbankzugriff, Dateiimport, KI-Entwurf, Cloudspeicher, visuellen Schemaeditor, Migrationsgenerator oder PNG/DBML-Export. TypeScript ist weder Schreib-DTO noch Laufzeitprüfung und muss zum Treiber passen.

ER-Diagramm aus SQL: häufige Fragen

Benötigt die Darstellung eine Verbindung zur Datenbank?

Nein. Unterstützte DDL als Text genügt; Zugangsdaten sind nicht erforderlich. Das Werkzeug prüft weder Berechtigungen noch vorhandene Daten oder Servereinstellungen. Ein erfolgreich geparstes Skript muss deshalb nicht auf Ihrer Datenbank ausführbar sein.

Für welche SQL-Dialekte funktioniert der Import?

Wählbar sind MySQL, PostgreSQL und SQLite. Unterstützt wird jeweils ein Ausschnitt aus CREATE TABLE und einfachen CREATE INDEX-Anweisungen, nicht die gesamte Herstellersyntax. Bei einem Fehler helfen Dialektwahl und Positionsangabe, die betreffende Klausel einzugrenzen.

Woran erkenne ich Primärschlüssel und Fremdschlüssel?

In der Kartenvorschau kennzeichnet ein Symbol Primärschlüsselspalten; Pfeile zeigen Fremdschlüssel. Die Spalten- und Schlüsselansicht enthält die vollständigen Listen zusammengesetzter Schlüssel. Nicht vorhandene Zieltabellen werden als extern beziehungsweise nicht aufgelöst markiert.

Eignet sich das Ergebnis für eine Datenbankentwurfsaufgabe?

Die Darstellung eignet sich zum Erläutern und Kontrollieren eigener Tabellendefinitionen. Sie bewertet allerdings weder Normalisierung noch die fachliche Richtigkeit des Entwurfs. Die Zuordnung zwischen Aufgabenstellung und eingegebenen Bedingungen bleibt Teil Ihrer eigenen Begründung.

Reicht eine Beschreibung des Geschäftsmodells als Eingabe?

Nein. Die Eingabe muss aus unterstützten SQL-Definitionen bestehen. Es gibt keine KI-Erzeugung aus Fachbeschreibungen und keine automatische Verknüpfung ähnlich benannter Spalten. Ergänzen Sie Tabellen, Spalten und Fremdschlüssel ausdrücklich im Quelltext.

Formatierungsproblem entdeckt?

Den nächsten Entwurf prüfen

Erstellen Sie ein ER-Diagramm aus SQL für einen überschaubaren Ausschnitt und gleichen Sie Schlüssel sowie offene Ziele vor der Übernahme ab.

Strukturänderungen erfolgen am DDL-Quelltext; die Ergebnisse bleiben schreibgeschützt.