Frage

Hinweis: Ursprünglich war diese Frage für PostgreSQL gefragt wurde, gilt jedoch die Antwort auf fast jede Datenbank, die einen JDBC-Treiber hat, die Fremdschlüssel-Verbände erkennen kann

.

Abfragen von PostgreSQL Data Dictionary für Fremdschlüssel und die Beziehung zwischen den Tischen ist sehr einfach, aber wie kann ich diese Informationen verwenden, um eine grafische Darstellung der Beziehungen zwischen Tabellen zu generieren?

Alle Empfehlungen über Tools, die dies tun können?

EDIT: weiß ich graphviz / DOT können nützlich sein, aber ich kenne keine Ahnung haben, wie eine App Code, der die gerichteten Graphen erzeugen würde DOT-Datei.

War es hilfreich?

Lösung

Dot ist ein Teil des graphviz -Paket, das eine verdammt cool / nützliches Werkzeug ist. Natürlich müssen Sie etwas die Punktdateien für graphviz zu erzeugen. Ich habe verwendet SchemaSpy ein- oder zweimal in der Vergangenheit, und es funktioniert ziemlich gut, vorausgesetzt, Sie haben die Beziehungen definiert in der Datenbank.

Andere Tipps

Microsoft Visio wird dies leicht tun.

Mindestens für Oracle betreibe ich diese Abfrage oder die DBA bitten, es zu laufen und mir die Ergebnisse zu senden. Die Ergebnisse können direkt in eine Textdatei kopiert werden von Graphviz-Tool interpretiert werden, in einem Datenbankdiagramm zur Folge hat.

SELECT '"' || Source.TABLE_NAME || '" -> "' 
           || Destiny.TABLE_NAME || '";' AS For_GraphViz
FROM dba_constraints Source
JOIN dba_constraints Destiny
ON Source.owner='my_db_owner' AND Destiny.owner='my_db_owner'
AND Source.CONSTRAINT_TYPE='R'
-- theoretically this validation should be redundant
-- AND Destiny.Constraint_type = 'P'
AND Source.R_CONSTRAINT_NAME = Destiny.CONSTRAINT_NAME
ORDER BY Source.TABLE_NAME, Source.CONSTRAINT_TYPE, Source.CONSTRAINT_NAME
    , Source.R_CONSTRAINT_NAME, Source.INDEX_NAME;

Eine ähnliche Abfrage kann leicht für SQL Server erstellt werden, nicht wissen, über MySQL, PostgreSQL et al.

Dot Multi-Plattform und kann nützlich sein.

DbVisualizer auch ist eine freie und schöne Alternative.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top