Comment obtenir rapidement le MPD d’une base existante avec SchemaSpy ?

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.

schema 

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

Un commentaire

  1. 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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *