Schemaball is an SQL database schema viewer. It requires Perl and a few modules, such as GD and optionally Math::Bezier and SQL::Translator. Schemaball creates flexible visualizations of database schemas. Schemas may be read from an SQL schema dump, flat file or live database.


home about screenshots requirements


tour tutorials README CHANGES man page


Perl code


These tutorials illustrate different features of Schemaball. Tutorials are divided into sections. Each section covers a particular aspect of a feature or set of features. Each section has its own documentation, configuration file and schema ball image.

For an example database, the tutorials use the Ensembl core database for the human genome. Ensembl is an open-source MySQL database for genomic data, annotations and analysis. As of version 21.34d, the core database (homo_sapiens_core_21_34d) is comprised of 57 tables and 307 fields.

tutorial 1 : Fetching, parsing and viewing an SQL schema from a remote server.

tutorial 2 : Extracting and drawing constraint relationships.

tutorial 3 : Adjusting colour and visiblity of schema diagram elements.

tutorial 4 : Highlighting schema diagram elements.

tutorial 5 : Tracing constraints relationships using highlight inheritance.

tutorial 6 : Adjusting schema diagram geometry and properties.

Schemaball tutorial 02 Tutorial 2 Download the SQL schema for the Ensembl homo_sapiens_core_21_34d database. Use Schemaball to draw a plain schema diagram, showing all tables and constraints.
Schemaball tutorial 03 Tutorial 3 Adjust visibility of table and constraint elements in the diagram.
Schemaball tutorial 04 Tutorial 4 Selectively highlight parts of the diagram.
Schemaball tutorial 05 Tutorial 5 Apply highlights to constraint relationships across multiple tables.