.. |br| raw:: html
.. |github_link| raw:: html
Github
.. |java_power_tools| raw:: html
Java Power Tools
Overview
===================
SchemaSpy is a Java-based tool (requires Java 8 or higher) 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 as represented by both HTML links and entity-relationship diagrams.
It's also designed to help resolve the obtuse errors that a database sometimes gives related to failures due to constraints.
SchemaSpy comes with ABSOLUTELY NO WARRANTY. |br|
SchemaSpy is free software licensed and distributed under LGPL version 3 or later |br|
SchemaSpy can be redistributed under the conditions of LGPL version 3 or later. |br|
http://www.gnu.org/licenses/
If you like SchemaSpy, don't forget to give us a star on |github_link|.
SchemaSpy produces dot-file and uses either the dot executable from `Graphviz `_ or embedded `viz.js `_ 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) or use the ``-gv`` or ``-vizjs`` arguments, else none of the entity relationship diagrams will be rendered.
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.
SchemaSpy was mentioned in one of the O'Reilly's book |java_power_tools|