SELECT * FROM // c[_]~~

Avatar

ein IT-Blog, mehr nicht!

Datenbanken analysieren leicht gemacht

Auf ein interessantes Tool zum analysieren bestehender Datenbanken (genauer Datenbankschemata) bin ich heute gestoßen. SchemaSpy analysiert sämtliche Tabellen, Attribute, Views sowie Schlüssel- und Fremdschlüsselbeziehungen, generierte statische HTML-Seiten und ermöglicht so das Browsen durch den Tabellenbestand eines Schemata. Mit Graphviz, eine OpenSource-Anwendung um Graphen zu visualisieren, lassen sich zudem die Relationen im Schema grafisch darstellen. (Für den Einsatz mit SchemaSpy wird Graphviz 2.6 oder höher empfohlen.)

SchemaSpy greift über eine JDBC-Schnittstelle auf das entsprechende DBS zu, so das theoretisch alle die Datenbanken unterstützt werden, für die ein entsprechender Treiber zur Verfügung steht. Laut Webseite werden u.a. DB2, Oracle, MSSQL, Firebird und PostgreSQL unterstützt. Bei mir im Einsatz ist SchemaSpy mit einem MySQL-DBS und ich habe exemplarisch mal meine Testdatenbank Northwind analysieren lassen. Das Ergebnis kann man sich als ZIP-Datei am Ende des Beitrages herunterladen, online betrachten oder alternativ sich mit den folgenden Screenshots begnügen.

Die erste Abbildung zeigt eine Übersicht der Tabellen inklusive weiterer Informationen, wie Anzahl der Datensätze, Nummer der Kind- oder Elter-Relationen und Storage Engine. Über das Tab-Menü können weiter Analysen eingesehen werden oder man klickt sich durch die Tabellen durch.
Übersicht Tabellen Northwind DB

Die zweite Abbildung ist eine Auschnitt aus der Detailansicht einer Tabelle mit zusätzlichen Informationen zu den Attributen, sowie eine grafische Übersicht der in Beziehung stehenden Tabellen.
Übersicht Relationen Northwind DB

Die Anwendung wir über die Konsole gestartet und die benötigten Parameter sind abhängig von der eingesetzten Datenbank. Für MySQL werden folgende Parameter erwartet:

 
$ java -jar schemaSpy_3.1.1.jar -cp mysql-connector-java-5.1.5-bin.jar -t mysql -o schemaSpy\northwind -host localhost -DB northwind -u root -p geheim
 
 

Die Parameter im einzelnen:

  • java -jar schemaSpy_3.1.1.jar Startet die eigentliche Anwendung als JAR-Datei. Bei mir ist das die Version 3.1.1 von SchemaSpy.
  • -cp mysql-connector-java-5.1.5-bin.jar Gibt den benötigten Connector an. Den für MySQL gibt es auf deren Webseite zum Download.
  • -t mysql Den Typ der Datenbank, hier MySQL.
  • -o schemaSpy\northwind Den Speicherort für die statischen HTML Seiten.
  • -host localhost Der Host auf dem das DBS läuft.
  • -DB northwind Die zu analysierende Datenbank.
  • -u root -p geheim Und zum Schluss noch der Benutzer und das zugehörige Passwort um sich mit der Datenbank zu verbinden.
  • Ausabe betrachten und glücklich sein. ;)

Damit die Graphen erzeugt werden können muss sichergestellt sein, dass die in der PATH-Variable der Pfad zu Graphviz enthalten ist. Nach Installation und Reboot auf Windows Vista war das bei mir der Fall und ich brauchte nicht zusätzlich Hand anzulegen.

Abschließend bleibt anzumerken, dass es sich um ein wirklich nützliches Werkzeug handelt um

  1. die eigenen Datenbanken zu dokumentieren und
  2. sich in fremden Datenbanken einen schnellen Überblick zu verschaffen.

Somit wird das wohl ein neuer Dauergast auf meiner HD.

Links zum Thema

Jan Häußler Von >>
Abgelegt unter >>
Tags >>
  • insgesamt: 1796 //   heute: 5 //   zuletzt: 21. November 2008
Gelesen >>
No Comments, Comment or Ping
Reply to “Datenbanken analysieren leicht gemacht”

Suche