Zum Inhalt springen

SQL-Schema zu DBML

CREATE TABLE-Anweisungen in eine DBML-Diagrammdefinition umwandeln.

Eingabe

SQL-Schema zu DBML

Füge eine oder mehrere CREATE TABLE-Anweisungen ein und dieses Tool gibt das äquivalente DBML zurück — das Klartextformat, das von dbdiagram.io und ähnlichen Tools zur Visualisierung von Entitätsbeziehungen verwendet wird. Jede Tabelle wird ein Table-Block, jede Spalte behält ihren Namen und Typ, und Primärschlüssel, Unique-Constraints und Fremdschlüssel werden automatisch übernommen. Das Tool wurde für den Moment entwickelt, in dem du einen Schema-Dump hast und schnell ein Diagramm brauchst, ohne SQL in einen gehosteten Service zu kopieren.

Die Dialektoption teilt dem Parser mit, was er liest — MySQL, PostgreSQL, SQLite oder SQL Server — da dasselbe Schlüsselwort über verschiedene Engine-Varianten unterschiedliche Bedeutungen haben kann (eine MySQL TINYINT(1) wird als Boolean gelesen, eine SQL Server IDENTITY-Spalte wird als Auto-Increment gelesen). Aktiviere die Typabbildung, um datenbankspezifische Typen auf DBML's kanonische Menge zu reduzieren (int, varchar, decimal, timestamp und so weiter), oder deaktiviere sie, um die ursprünglichen Namen beizubehalten. Kommentare — eine MySQL COMMENT-Klausel oder eine PostgreSQL COMMENT ON-Anweisung — werden zu DBML Note-Einträgen, wenn "Kommentare behalten" aktiviert ist. Spaltennamen wie user_id können optional eine Beziehung zu einer users-Tabelle ableiten, auch ohne expliziten Fremdschlüssel, und Tabellen mit gemeinsamen Namenspräfixen (shop_orders, shop_products) können in eine TableGroup gruppiert werden.

Das Tool versteht Inline-REFERENCES-Klauseln, tabellenstufige FOREIGN KEY-Constraints und separate ALTER TABLE ADD CONSTRAINT-Anweisungen, daher funktioniert es mit einem einzelnen CREATE TABLE-Block oder einem vollständigen Dump mit nachträglich hinzugefügten Schlüsseln. Zusammengesetzte Primärschlüssel und Unique-Constraints werden als DBML-Index-Blöcke dargestellt, anstatt gelöscht zu werden.

Alles läuft lokal in deinem Browser — kein Schema wird jemals irgendwohin hochgeladen, was wichtig ist, wenn das SQL, das du einfügst, eine echte Produktionsdatenbank beschreibt. Kopiere das DBML, lade es als .txt-Datei herunter, oder sende die Ausgabe direkt an ein anderes Tool, um weiter daran zu arbeiten.

Häufige Fragen

Welche SQL-Dialekte werden unterstützt?
MySQL, PostgreSQL, SQLite und SQL Server. Wähle den passenden Dialekt, damit die Typabbildung und die Auto-Increment-Erkennung das SQL korrekt lesen.
Wie werden Fremdschlüssel erkannt?
Aus Inline-REFERENCES-Klauseln, tabellenstufigen FOREIGN KEY-Constraints und separaten ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY-Anweisungen — alle drei werden in DBML Ref-Linien umgewandelt.
Was bewirkt "Beziehungen aus Spaltennamen ableiten"?
Wenn eine Spalte wie user_id benannt ist und kein expliziter Fremdschlüssel existiert, überprüft das Tool, ob eine entsprechende users-Tabelle mit einer id-Spalte vorhanden ist, und fügt eine Ref für sie hinzu, die in der Ausgabe als abgeleitet gekennzeichnet ist.
Kann ich die Ausgabe direkt in dbdiagram.io einfügen?
Ja. Die Ausgabe ist reines DBML — Tabellen, Spalten, Schlüssel und Beziehungen — im Format, das dbdiagram.io und kompatible Tools erwarten.
Wird mein Schema irgendwo hochgeladen?
Nein. Das SQL, das du einfügst, wird vollständig in deinem Browser geparst und verlässt dein Gerät niemals.