SchemaSpy is a Java-based tool that analyzes the metadata of a schema in a database and generates a visual representation of it in a browser-displayable format. It lets you click through the hierarchy of database tables via child and parent table relationships.
The browsing through relationships can occur though HTML links and/or though the graphical representation of the relationships. It's also designed to help resolve the obtuse errors that a database sometimes gives related to failures due to constraints.
SchemaSpy is free software, distributed under the terms of the Lesser GNU Public License. Your donations are, however, greatly appreciated.
SchemaSpy uses the dot executable from Graphviz to generate graphical representations of the table/view relationships. This was initially added for people who see things visually.
Now the graphical representation of relationships is a fundamental feature of the tool. Graphvis is not required to view the output generated by SchemaSpy, but the dot program should be in your PATH (not CLASSPATH) when running SchemaSpy or none of the graphs will be generated.
Some Linux users have experienced problems with dot version 2.6. Version 2.6 (or higher) is preferred, but if it doesn't work then try 2.2.1. Note that SchemaSpy takes advantage of some dot 2.6+ features so graphs won't be as well formed when using 2.2.1.
SchemaSpy uses JDBC's database metadata extraction services to gather the majority of its information, but has to make vendor-specific SQL queries to gather some information such as the SQL associated with a view and the details of check constraints.
The differences between vendors have been isolated to configuration files and are extremely limited. Almost all of the vendor-specific SQL is optional.
What's New in This Release: [ read full changelog ]
· SQL was added for querying view details for MySQL databases.
· On the tables tab, you can now view tables and views separately as well as hide comments.
· The columns page has been trimmed down to help resolve loading issues on large (e.g. 20,000 table) schemas.
· A -gv option was added to no longer require finding Graphviz on the path.
· Hooks were added to allow for custom formatting of view SQL.
· DB2 Materialized Query Tables (MQTs) are treated as views.
· A new option was added to prompt for the password, so it doesn't appear on the command line.
· Many additional bugs were fixed.