SchemaSpy est un outil écrit en Java. Il permet de générer le MPD (Modèle physique de données) d’une base de données existante à partir des méta-données de la base. C’est un outil open-source distribué sous GNU public licence 2.1.
Les schémas du MPD obtenus sont au format HTML, donc consultables à partir d’un simple navigateur. Il permet l’affichage de sous-schémas centrés sur une table principale choisie avec celles en relation de 1er niveau, ou de 1er et de 2ème niveau. Cette méthode de visualisation de proche en proche convient parfaitement à une base de données comportant un nombre important de tables.
Des informations supplémentaires et utiles sont disponibles : les caractéristiques des colonnes et leurs contraintes, une proposition de l’ordre d’insertion et de suppression des tables, les anomalies éventuelles.
SchemaSpy supporte un nombre important de SGBD :
Type |
Description |
db2 | IBM DB2 with 'app' Driver |
db2net | IBM DB2 with 'net' Driver |
udbt4 | DB2 UDB Type 4 Driver |
db2zos | DB2 for z/OS |
derby | Derby (JavaDB) Embedded Server |
derbynet | Derby (JavaDB) Network Server |
firebird | Firebird |
hsqldb | HSQLDB Server |
informix | Informix |
maxdb | MaxDB |
mssql | Microsoft SQL Server |
mssql05 | Microsoft SQL Server 2005 |
mssql-jtds | Microsoft SQL Server with jTDS Driver |
mssql05-jtds | Microsoft SQL Server 2005 with jTDS Driver |
mysql | MySQL |
ora | Oracle with OCI8 Driver |
orathin | Oracle with Thin Driver |
pgsql | PostgreSQL |
sqlite | SQLite |
sybase | Sybase Server with JDBC3 Driver |
sybase2 | Sybase Server with JDBC2 Driver |
teradata | Teradata (requires -connprops) |
Il est nécessaire de disposer également du driver JDBC de la base de données concernée.
Installation
L’outil est à télécharger depuis le site officiel http://schemaspy.sourceforge.net/.
Pour que SchemaSpy puisse générer le MPD sous forme de graphe, il est nécessaire d’installer Graphviz disponible sur le site http://www.graphviz.org/.
L’outil SchemaSpy est livré sous forme de jar « schemaSpy_<version>.jar », alors que Graphviz est disponible sur les plateformes Linux (Redhat, Centos, Fedora, Ubuntu), Solaris, Mac et Windows.
Pour l’installation de Graphviz, merci de se référer à la page http://www.graphviz.org/Download..php.
Utilisation
Pour générer les schémas d’une base existante, il suffit de passer la commande en ligne :
java -jar schemaSpy.jar -dp <driver jdbc BD> -t <type BD> -db <nom BD> -host <@ url BD> -port <port BD> -u <nom user> -p <mot de passe BD> -gv <répertoire de Graphviz> -o <répertoire schémas générés>
Ci-dessous un exemple pour une base MySql :
java -jar /tmp/tools/schemaSpy.jar -dp "/tmp/tools/mysql-connector-java-5.1.34-bin.jar" -t mysql -db testBd -host localhost -port 3306 -u adminUsr -p adminPwd -gv "/tmp/tools/graph/Graphviz2.38" -o /tmp/testBdSchemas
Bonjour,
J’ai suivi la procédure d’installation pour utiliser SchemaSpy et l’article est très bien expliqué.
Je voulais juste ajouter qu’il est possible de spécifier le schéma de la base de données à utiliser.
Il faut ajouter -schemas « »
Merci.