SQL einfügen, ER-Diagramm und Data Dictionary erhalten
ErdDocs erstellt das ER-Diagramm aus dem Schema, das Sie schon haben. Fügen Sie einen SQL-Dump, ein Prisma-Schema oder die Migrationen Ihres Frameworks ein. Sie erhalten ein interaktives Diagramm und ein druckfertiges Data Dictionary. Darin stehen alle Tabellen, Spalten, Typen und Beziehungen. Sie brauchen weder eine Anmeldung noch eine Installation. Das Schema wird in Ihrem Browser ausgewertet und verlässt Ihren Rechner nicht.
Es wird nichts hochgeladen. Ihr Schema bleibt in diesem Browser. Wenn Sie den Tab wieder öffnen, ist das zuletzt eingefügte Schema noch da. Es verschwindet erst, wenn Sie die Websitedaten löschen.
So funktioniert es
So wird aus einem SQL-Dump ein ER-Diagramm und ein Data Dictionary:
- 01Schema exportieren:
pg_dump --schema-onlyfür PostgreSQL,mysqldump --no-datafür MySQL. - 02Oben einfügen oder die .sql-Datei direkt auf das Feld ziehen.
- 03Diagramm lesen. Fahren Sie mit der Maus über eine Tabelle, dann leuchten ihre Beziehungen auf. Ein Klick hält die Hervorhebung fest.
- 04Auf „Data Dictionary“ umschalten. Dort stehen Spalten, Typen, Standardwerte, Indizes und Beziehungen. Diese Ansicht lässt sich als PDF drucken.
Gebaut für echte Dumps
Ein Produktionsschema ist keine ordentliche Liste von CREATE TABLE-Anweisungen. Deshalb ist der Parser an echten Schemas getestet: pagila, sakila, GitLab, Discourse, WordPress, PrestaShop. Wie gut jedes Format gelesen wird, gemessen an 89 öffentlichen Schemas.
- Partitionierte Tabellen bleiben eine Tabelle. Ein Dump mit 55 Monatspartitionen von
paymentergibt eine einzige Kartepayment, nicht 56. - Fehlende Fremdschlüssel werden ergänzt. Rails- und Django-Projekte deklarieren in der Datenbank oft keine. Die Spaltennamen sagen trotzdem, was worauf verweist, und diese Beziehungen werden gestrichelt gezeichnet.
- Eine fehlerhafte Anweisung bringt nicht die ganze Datei zu Fall. Was sich nicht lesen lässt, wird übersprungen und gemeldet, und der Rest Ihres Schemas wird trotzdem gezeichnet.
- Große Schemas werden nie abgeschnitten. Alles, was Sie einfügen, wird ausgewertet und angeordnet, auch Schemas mit Hunderten von Tabellen.
Warum ErdDocs
- Dokumentation, nicht nur ein Bild. Nach einem Data Dictionary fragen Prüfer, Kunden und neue Kolleginnen und Kollegen tatsächlich.
- Keine Anmeldung, keine Installation. Kein Konto, bevor Sie das Ergebnis sehen, und kein Paket für Ihr Projekt.
- Einmal zahlen. Ein einmaliger Preis statt eines Abos, das man zu kündigen vergisst.
- Ihr Schema bleibt auf Ihrem Rechner. Die Auswertung läuft lokal im Browser, das Schema geht an keinen Server. Sie können auch das Produktionsschema einfügen, ohne dass die Struktur Ihrer Datenbank nach außen gelangt.
Zwischen Formaten umwandeln
ErdDocs liest zehn Formate und exportiert in acht, alle im Feld oben. Die folgenden Seiten zeigen je einen Weg, mit einem schon geladenen Beispiel. Sie sind auf Englisch:
- Prisma-Schema in ER-Diagramm: die Datenbank, die
schema.prismaerzeugt, samt Zwischentabellen. - DBML in ER-Diagramm: die Sprache von dbdiagram, dazu ein druckbares Data Dictionary ohne Konto.
- SQL in PlantUML: ein Dump als
.puml, ohne JVM und ohne Graphviz. - Mermaid-ER-Diagramm-Generator:
erDiagram-Text für eine README, aus jeder der zehn Eingaben. - DBML in Mermaid: umgewandelt, mit dem Diagramm daneben, damit Sie sehen, dass es stimmt.
- SQLAlchemy-Modelle in ER-Diagramm: Python-Modelle ohne pip und ohne Graphviz.
- Sequelize-Modelle in ER-Diagramm: samt der Schlüssel, die Ihre Assoziationen voraussetzen.
- Prisma-Schema in SQL:
CREATE TABLE, ohne die CLI zu installieren. - Django-Modelle in ER-Diagramm: die Tabellen, die Django anlegt, ohne Graphviz.
- TypeORM in ER-Diagramm: Entitäten als Text eingefügt, mit der Zwischentabelle, die sie erzeugen.
- Prisma in DBML: für dbdiagram und dbdocs, mit dem Diagramm neben der Ausgabe.
- Prisma in PlantUML:
.pumlohne CLI und ohne generator-Block. - MySQL-ER-Diagramm-Generator: eine mysqldump-Datei, ohne Workbench zu installieren.
Häufige Fragen
Was ist ein Data Dictionary?
Ein Data Dictionary ist das Nachschlagewerk zu einer Datenbank. Es beschreibt alle Tabellen und Spalten an einem Ort: Datentyp, ob NULL erlaubt ist, Standardwert, Indizes und Beziehungen. Man braucht es für die Einarbeitung, für Audits und bei der Übergabe an Kunden. ErdDocs erzeugt es aus dem eingefügten Schema, gleich druckfertig.
Wird mein Schema irgendwo hochgeladen?
Nein. Auswertung und Darstellung laufen vollständig in Ihrem Browser. Ihr SQL verlässt Ihren Rechner nicht, und es gibt kein Konto anzulegen. Mit einer laufenden Datenbank verbindet sich ErdDocs bewusst nicht, also müssen Sie keine Zugangsdaten herausgeben. Die Website zählt Seitenaufrufe mit einem Analyse-Beacon ohne Cookies. Er sieht, welche Seite Sie geöffnet haben, und nichts von dem, was darin steht.
Welche Datenbanken und Formate werden unterstützt?
SQL aus PostgreSQL, MySQL, SQL Server und SQLite. Das kann ein pg_dump mit Anweisungen ALTER TABLE ONLY ... ADD CONSTRAINT sein, ein mysqldump, ein in SSMS erzeugtes Skript, samt GO-Batches und Namen in eckigen Klammern, oder die Ausgabe des SQLite-Befehls .schema. Neun weitere Eingaben werden gelesen, wie sie sind: Prisma-Schemas, DBML, Mermaid erDiagram, PlantUML, Django-Modelle, SQLAlchemy-Modelle, Sequelize-Modelle, TypeORM-Entitäten und Laravel-Migrationen. Bei Prisma werden @map-Namen, Relationsfelder und implizite n:m-Zwischentabellen zu den Tabellen aufgelöst, die die Datenbank tatsächlich bekommt. Das Format wird am eingefügten Text erkannt, und Sie können die Erkennung überschreiben.
Meine Datenbank hat keine Fremdschlüssel. Bleibt das Diagramm leer?
Nein. Rails-, Django- und Laravel-Projekte halten Beziehungen oft nur im Anwendungscode. ErdDocs liest auch die Namenskonvention, sodass eine Spalte user_id mit der Tabelle users verbunden wird. Solche Beziehungen werden gestrichelt gezeichnet, damit man sie von deklarierten Schlüsseln unterscheiden kann.
Was unterscheidet ErdDocs von dbdiagram, drawSQL oder sqltoerdiagram?
ErdDocs bezahlen Sie einmal. Die kostenpflichtigen Tarife von dbdiagram und drawSQL gibt es nur im Abo. ErdDocs liest Prisma, Modelle aus Django, SQLAlchemy, Sequelize und TypeORM sowie Laravel-Migrationen. dbdiagram und drawSQL lesen nichts davon. Mermaid oder PlantUML exportiert ebenfalls keines der beiden. drawSQL exportiert ohne Konto nicht einmal ein Bild, und DBML lässt sich dort nur importieren, nicht exportieren. In dbdiagram findet ein KI-Assistent Beziehungen ohne Fremdschlüssel, allerdings nur in einem kostenpflichtigen Tarif. ErdDocs findet sie kostenlos anhand der Spaltennamen. sqltoerdiagram hat kein druckbares Data Dictionary. Es zeichnet jede Partition aus einem Dump als eigene Tabelle, während ErdDocs sie unter der Elterntabelle zusammenfasst. Laravel-Migrationen liest sqltoerdiagram nicht. Für Django und TypeORM verlangt es, dass Sie zuerst SQL aus den Modellen erzeugen.
Was kostet es?
Diagramme ansehen und Bilder exportieren ist kostenlos, ein Konto brauchen Sie nicht. Schemas bis 25 Tabellen werden vollständig gezeichnet. Größere Schemas werden ebenfalls komplett ausgewertet, aber Tabellen über der Grenze bleiben gesperrt. Eine einmalige Zahlung von 9 US-$ schaltet sie frei. Darin ist auch das vollständige Data Dictionary enthalten. Paddle schlägt die Umsatzsteuer beim Bezahlen auf, wo sie anfällt.
Kann ich ein ER-Diagramm aus einer SQL-Server- oder MySQL-Datenbank erstellen?
Ja. Exportieren Sie das Skript und fügen Sie es hier ein. In SQL Server Management Studio geht das über „Skripts generieren“, bei MySQL mit mysqldump --no-data. GO-Batches, Namen in eckigen Klammern, Backticks und AUTO_INCREMENT werden gelesen.
Weiter
- ER-Diagramm-Tool: aus SQL erzeugen statt von Hand zeichnen
- Data Dictionary erstellen: vom Schema zum druckbaren Dokument
- ER-Diagramm-Symbole: Kardinalitäten und Krähenfuß-Notation
- ER-Diagramm-Beispiele: Bibliothek, Krankenhaus und Schule
- Preise: kostenlos oder einmalig