Solange Sie Fremdschlüssel in Ihrer Datenbank haben, habe ich festgestellt, dass Visio einen guten Job macht. Ich hatte eine Postgresql-Datenbank mit etwa 150 Tabellen aus vier verschiedenen zusammengeführten Projekten, die über verschiedene Fremdschlüssel miteinander verbunden waren, und es war eine großartige Aufgabe, alle Beziehungen zu extrahieren und die Tabellen zu gruppieren. Das Diagramm hatte trotz umfangreicher Fremdschlüssel nur wenige überlappende Linien. Aufgrund der Fremdschlüssel waren die logischen Elemente gut zusammengefasst, es war klar, aus welchen Datenbanken die meisten Tabellen stammen.
Werkzeug zur automatischen Generierung und Anordnung eines Entity-Relationship-Diagramms?
Ich habe viele Werkzeuge gesehen, mit denen eine ERD aus einer vorhandenen Datenbank zurückentwickelt werden kann, aber ich konnte keine finden, mit der das Diagramm automatisch in vernünftiger Weise dargestellt werden kann. Die meisten von ihnen plumpen einfach alle Einheiten übereinander und nennen es einen Tag. Einige versuchen, die Entitäten zu organisieren, tun dies aber nicht besonders gut.
Gibt es ein Werkzeug, das die Struktur einer vorhandenen Datenbank rückgängig machen und diese dann automatisch so anordnen kann, dass sie leicht verständlich ist und die Organisation der Datenbank anzeigt? Wenn ich ein solches Werkzeug erstellen würde, würde ich die Länge der Linien minimieren, die Entitäten verbinden, die Anzahl der Linien, die sich kreuzen, minimieren und Gruppen verwandter Entitäten hervorheben. Ich würde auch versuchen herauszufinden, welche Tabellen Nachschlagetabellen sind, welche Mana-zu-Viele-Zwischentabellen usw. sind, und die Entitäten so auslegen, dass diese Rollen für eine Person, die das Diagramm betrachtet, offensichtlich sind.
Ich habe nicht genau die Finanzierung, um das oben genannte zu erreichen, aber ich habe etwas Geld, um ein solches Werkzeug zu kaufen, wenn es gut ist.
Edit: Ich sollte erwähnen, dass ich versuche, eine Datenbank mit mehr als 100 Tabellen darzustellen, also möchte ich so viel wie möglich davon automatisieren. Die Datenbank ist nicht eine, die ich sehr gut kenne. Ich schaue also aus der Betrachtung des Diagramms und lerne das, was ich weiß, in ein Diagramm (was scheinbar die meisten Diagrammtools sind).
4 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
SchemaCrawler generiert mithilfe von GraphViz automatisch Diagramme aus Datenbanken. Die wahre Stärke von SchemaCrawler ist das
- Sie können reguläre Ausdrücke verwenden, um die Tabellen und Spalten im Diagramm zu begrenzen. Dies macht es besonders nützlich, wenn Sie eine unbekannte Datenbank untersuchen
- Mithilfe der Funktion "schwache Zuordnungen" können Sie Beziehungen zwischen Tabellen erkennen, die nicht als Fremdschlüssel ausgedrückt werden
Laden Sie einfach den SchemaCrawler herunter, platzieren Sie ihn irgendwo in Ihrem Java-Pfad und führen Sie ihn wie folgt aus:
java -classpath $(echo ../../_schemacrawler/lib/*.jar | tr ' ' ':') schemacrawler.Main -server=mysql -database=your_database_in_localhost -user=your_user -password=your_password -infolevel=maximum -command=graph -outputformat=pdf -outputfile=my_database_diagram.pdf $*
Beachten Sie auch, dass Sie verschiedene Dateiformate wählen können
- png
- jpg
- Punkt
- svg
und viele andere.
Sie können auch entscheiden, ob Fremdschlüsselnamen, Spaltenordnungsnummern und Schemanamen angezeigt werden sollen, indem Sie die folgenden Eigenschaften in der SchemaCrawler-Konfigurationsdatei schemacrawler.config.properties festlegen.
- schemacrawler.format.show_ordinal_numbers = true
- schemacrawler.format.hide_foreignkey_names = true
- schemacrawler.format.show_unqualified_names = true
Weitere Informationen und Beispiele finden Sie unter http://schemacrawler.sourceforge.net/diagramming.html
hängt wahrscheinlich davon ab, welche Datenbank Sie verwenden. Ich habe dies mit Microsoft SQL Server Management Studio ausprobiert, und das Diagramm wird erstellt und angeordnet. Ich kann nicht wirklich sagen, ob es Ihren Anforderungen entspricht, aber die Express Edition ist kostenlos, daher ist es immer möglich, es auszuprobieren.
Ich habe Druid dafür in der Vergangenheit benutzt und war sehr zufrieden. Es ist Open Source / Free und Sie können die Objekte im Diagramm verschieben. Die Benutzeroberfläche kann jedoch gewöhnungsbedürftig sein.
Verwandte Probleme
-
2
Wie konvertiere ich eine Mac OS Filemaker 2-Datenbank in eine aktuelle FM- oder Bento-Datenbank, wob...
-
5
Was ist mit WinFS passiert?
-
4
Was ist das Äquivalent von Microsoft Access auf dem Mac?
-
1
So finden Sie die ORM-App für OSX
-
3
Den Editor von Vim Psql haben
-
2
Home-Movie-Datenbanksoftware
-
4
Welches ist die beste Lösung für eine gemeinsam genutzte Datenbank, die diese Anforderungen erfüllt?
-
2
Wie kann ich meine Datenbank wiederherstellen?
-
2
Was ist ein DDL-Skript im Kontext von Datenbanken?
-
1
Kann Word 2007 auf eine MySQL-Datenbank zugreifen?