Gutes Werkzeug zur Visualisierung des Datenbankschemas? [geschlossen]


137

Gibt es gute Tools zur Visualisierung eines bereits vorhandenen Datenbankschemas? Ich benutze MySQL, wenn es darauf ankommt.

Ich verwende derzeit MySQL Workbench, um einen SQL-Skript-Dump zu erstellen, aber es ist umständlich, langsam und ein manueller Prozess, um alle Tabellen zu verschieben (was in Ordnung wäre, wenn es nicht so langsam wäre).


Es gibt keine Alternative zum Lesen der Sache ... es sei denn, Sie halten dies für hilfreich. apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb

2
Ich habe diese Frage erneut auf softwarerecs.stackexchange.com gestellt und begrüße alle Alternativen zu meiner aktuellen Lösung.
Jeroen

Visualisieren Sie MySQL- Schemas mit dbForge Studio für MySQL. Database Designer ist in der kostenlosen Express Edition enthalten.
Devart

Antworten:


83

Ich fand SchemaSpy ziemlich gut - Sie müssen das Skript jedes Mal ausführen, wenn sich das Schema ändert, aber es ist keine so große Sache.

Wie in den Kommentaren erwähnt, gibt es auch eine GUI dafür.

Ein weiteres nettes Tool ist SchemaCrawler .


3
Vielen Dank, ich dachte, die Befehlszeilenschnittstelle sei ziemlich schmerzhaft . Als ich sie zum Laufen brachte, bemerkte ich natürlich den Link zur GUI auf der Titelseite, joachim-uhl.de/projekte/schemaspygui . Es sollte auch beachtet werden, dass das Programm Google-Anzeigen in den resultierenden HTML-Code einfügt.
James McMahon

1
Das ist gut. Und es ist erwähnenswert, dass viel Yak rasiert werden muss, damit es funktioniert.
Ken Prince

Das ist toll! Es war einfach, es zum Laufen zu bringen. Folgen Sie einfach den Anweisungen. Es sollte auch beachtet werden, dass es nicht nur mit MySQL funktioniert und: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled

Sparen Sie sich die Arbeit und gehen Sie mit DbVisualizer ( dbvis.com ). Es funktioniert mit einer Vielzahl von Datenbanken, einschließlich SQLite, und ihre EULA ermöglicht die Verwendung der kostenlosen Version für kommerzielle Projekte.
Aralox

14

Normalerweise verwende ich dazu SchemaSpy, aber kürzlich habe ich einen wirklich einfachen Artikel über sqlfairy gefunden , der nur die Dump-Datei zum Erstellen des Strukturdiagramms verwendet


2
+1 für sqlfairy benötigt die JRE nicht (wie die meisten anderen Antworten).
Mikewaters

Ich habe gerade das bekommen, was ich von sqlfairy brauchte. Einfach und schnell.
Fivedogit

sqlfairy kann sehr viel Speicherplatz für große Datenbanken verwenden. Ich habe es für eine Datenbank mit einer Größe von 615 MB ausgeführt und es ist zusammengebrochen, nachdem ich die 18 GB gefüllt hatte, die auf meiner Festplatte noch frei waren.
Pascal

Das ist ein alter Kommentar ... Sind diese Tools noch in der Entwicklung?
Hons

11

Ich mag dieses Tool, einfach DbSchema genannt . Es ist in Java geschrieben und läuft unter OS X, Windows oder Linux. Es ist etwas klobig, besonders wenn es um das Drucken geht, aber meiner Erfahrung nach sind sie alle so. Dieser ist der beste von mehreren, die ich versucht habe. Es macht schöne, klare Diagramme. Kostenlose Testphase. Kostet ungefähr 120 US-Dollar, je nachdem, wie viele Lizenzen Sie kaufen.


Hervorragendes Werkzeug. Es gibt auch eine kostenlose Edition mit den meisten großartigen Funktionen (z. B. Synchronisation mit Live-Datenbank).
Wheleph

Dies ist ein großartiges Tool, es kann sogar virtuelle Fremdschlüssel generieren, wow!
Nassim

10

Unter Mac OS X können Sie Sequel Pro verwenden


1
+1Sequel Pro ist sehr zu empfehlen.
Anne

6
Ich denke, diese Antwort bedarf einer zusätzlichen Erklärung: norbauer.com/rails-consulting/notes/…
fguillen

1
Danke @fguillen! Fügen wir hier die Erklärung hinzu (bevor der Link unterbrochen wird…). Es sind nur 4 einfache Schritte: 1.) Installieren Sie graphviz , es ist in MacPorts ( sudo port install graphviz) und in Homebrew ( brew install graphviz) verfügbar . 2.) Punktdatei exportieren (in SequelPro gehen Sie zu Datei> Exportieren> Graphviz Dot und exportieren Sie Ihre Datenbank) 3.) Öffnen Sie das Terminal und konvertieren Sie die Punktdatei in SVG dot -Tsvg your_database.dot > your_database.svg 4.) Konvertieren Sie generell generiertes SVG optional in JPG oder PNG mit einem beliebigen Tool Ihrer Wahl (Inkscape, ImageMagick, GraphicsMagick usw.)
Arvid



2

Haben Sie die Funktion arrangieren> automatisch arrangieren in MySQL Workbench ausprobiert? Dies erspart Ihnen möglicherweise das manuelle Verschieben der Tabellen.


2
Ja, es hat irgendwie geholfen, war aber nicht großartig.
Mat

Einen Versuch wert, ich arrangiere mich immer auch selbst - aber manchmal kann es mir den Einstieg erleichtern.
Brian Fisher

2

DeZign for Databases könnte für Sie interessant sein. Sie können vorhandene Datenbanken zurückentwickeln und ändern. Hat eine Auto-Layout-Funktion und das Diagramm-Layout ist beim Synchronisieren Ihres Datenmodells mit der Datenbank nicht vernetzt.


Bitte beachten Sie, dass die Autolayout-Funktion nicht für größere Datenbanken geeignet ist - es ist nur ein großes Durcheinander. (zB scheint der Platz für das Diagramm begrenzt zu sein und daher gibt es viele Tische am rechten Rand (in unserem Fall 75 Tische an einem Ort). Ich habe mit den verschiedenen Layoutoptionen herumgespielt, aber das Ergebnis ist in keinem gut der Optionen.
Lonzak

2

In Visio Professional ist ein Datenbank-Reverse-Engineering-Tool integriert. Sie sollten es mit MySQL über einen ODBC-Treiber verwenden können. Dies funktioniert am besten, wenn Sie die Datenbank zurückentwickeln und dann die Diagramme erstellen, indem Sie sie aus dem Tabellen- und Ansichtsfenster ziehen. Fremdschlüsselobjekte werden gezogen und ebenfalls in das Diagramm eingefügt.


2

Ich beginne ein eigenes Perl-Skript zu erstellen, das auf dem SQL :: Translator-Modul (GraphViz) basiert. Hier sind erste Ergebnisse .



2

Ich habe lange nach einem anständigen und vorzugsweise kostenlosen Tool für Linux gesucht und diese Java-Anwendung gefunden, die (endlich !!) ziemlich gut ist:

http://sqldeveloper.solyp.com/

Als Java ist es plattformübergreifend (ich führe es unter Linux ohne Probleme aus) und stellt eine Verbindung zu jeder Datenbank her, für die Sie einen JDBC-Treiber erhalten können. dh: so ziemlich jede Datenbank .

Es ist ganz einfach, Ihre Datenbank zu importieren und ein visuelles ( ERM ) des Datenbankschemas zu erhalten. Die Funktion für das automatische Layout ist ebenfalls gut. Beachten Sie jedoch, dass dies nicht automatisch erfolgt und Sie nach dem Importieren Ihrer Objekte in das Diagramm auf die Schaltfläche "Automatisches Layout" klicken müssen.

Die Anwendung ist auch ein ziemlich gutes generisches Datenbankverwaltungs- / Browsing-Tool. Als kleines Beispiel verwende ich es anstelle von pgadmin für einige Basisentwicklungsarbeiten, da einfache Feinheiten wie die Spaltenbreite der SQL-Abfrageergebnisse automatisch an den Inhalt angepasst werden (was mich in pgadmin verrückt macht).


Ich stimme dem zu. Ich habe nach einem GUI-Tool gesucht, um Postgresql-Datenbanken unter Linux zu visualisieren, und die meisten von ihnen fallen flach ins Gesicht. Ich habe gerade angefangen, SQL Developer zu verwenden, aber es ist die beste kostenlose Option, die ich bisher gefunden habe.
Adam Plumb

1
Ich kann keine neue Antwort geben, da die Frage jetzt geschlossen ist, aber das Tool, das Sie tatsächlich wollen, ist DbVisualizer ( dbvis.com ). Es ist fantastisch ... weitaus besser als das, was ich in meiner Frage empfohlen habe (wenn meine Verwendung in den letzten Jahren ein Hinweis ist).
Russ

1

Ich benutze SQL :: Translator mit DBIx :: Class

Ich habe sowieso DBIx :: Class in meiner Toolchain, und wenn ich es mit SQL :: Translator kombiniere, kann ich das Schema in viele verschiedene Formate konvertieren. Meistens werden SQL-Skripte für verschiedene Datenbankserver initialisiert (was die Entwicklung auf SQLite erleichtert und die Produktion auf Postgresql umstellt), aber es können auch GraphViz-Daten ausgegeben werden, sodass Diagramme trivial zu generieren sind.


1

ER / Studio von Embarcadero ist einer der teureren, aber der vorhandene hierarchische Modus ist bei weitem der beste, um Datenbankmodelle zu verstehen. Das Schreiben von Abfragen ist damit die einfachste Aufgabe der Welt.

Es ist auch unglaublich mit Normalisierung, Denormalisierung, Lagerung, Dokumentation usw.

Der Nachteil ist, dass es ein ziemlich teures Tool ist, besonders wenn Sie Multiplattform verwenden.


1

Adminer (ehemals phpMinAdmin), die Webanwendung zum Verwalten von MySQL-Datenbanken, zeichnet ein einfaches Diagramm.

Die Software selbst ähnelt phpMyAdmin, verfügt jedoch über mehr Funktionen, ist leichtgewichtig und wird in einer einzigen PHP-Datei geliefert.

Alt-Text


1
Vielleicht funktioniert dies für triviale Schemata, aber ich habe es mit einem Schema mit 28 Tabellen versucht und es gab mir nur eine rein vertikale Liste aller Tabellen in alphabetischer Reihenfolge, mit einem Durcheinander vertikaler Linien, die versuchen, Beziehungen zu veranschaulichen. Könnte nicht nutzloser sein.
Dolph

Genau in meinem Fall 40 Tische. Sie können klicken, um es zu ziehen, aber sobald Sie es ausgewählt haben, können Sie es nicht mehr auswählen.
Ziyan Junaideen

0

Wenn Sie sagen, das Datenbankschema visualisieren, beziehen Sie sich auf ein Textdokument aller Ihrer Tabellen, Sprocs usw. oder auf eine visuelle Darstellung Ihres Schemas und Ihrer Abhängigkeiten?

Ich weiß, dass Sie MySQL erwähnt haben (und es ist sehr wahrscheinlich, dass es jetzt unterstützt wird, aber ich bin nicht sicher), aber RedGate verfügt über eine Reihe von Tools, die dies ziemlich einfach machen. Das SQL Doc-Programm kann Ihre gesamte Datenbank übernehmen und eine vollständige Datenbankdokumentation dafür erstellen. SQL Dependency Tracker kann Ihnen eine visuelle Darstellung aller Ihrer Tabellen geben und deren Verknüpfungen anzeigen, oder Sie können nur bestimmte Tabellen oder Sprocs laden, um zu zeigen, was sie verwendet oder was sie selbst verwenden.


Die Tools von Red Gate sind leider nur SQL Server.
Dave R.

Ich war eher nach einer visuellen grafischen Darstellung als nach einem vollständigen Datenbankdokument, aber es klingt immer noch interessant (auch wenn es nur SQL Server ist - haben Sie einige andere Dinge, die das verwenden).
Mat

0

Vor Jahren habe ich Data Architect verwendet. Ich weiß nicht, ob es noch da draußen ist.

Sie können ein vorhandenes Schema in ein relationales Tabellendiagramm zurückentwickeln.

Oder Sie gehen noch weiter und entwickeln ein Entity-Relationship-Modell mit einem zugehörigen Diagramm zurück. ER-Diagramme waren für mich sehr nützlich, wenn ich die Daten mit Leuten diskutierte, die weder Programmierer noch Datenbankexperten waren.

Manchmal waren einige manuelle Korrekturen am ER-Modell und am ER-Diagramm erforderlich, bevor es ein nützliches Kommunikationsinstrument mit den Stakeholdern war.



0

Ich habe DBSchema ausprobiert. Schöne Funktionen, aber für eine Datenbank mit etwa 75 Tabellen sehr langsam. Unbrauchbar.


0

Probieren Sie PHPMyAdmin aus, das einige wirklich schöne Visualisierungs- und Bearbeitungsfunktionen bietet. Ich bin mir ziemlich sicher, dass Sie sogar exportieren können, um davon zu profitieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.