Febrero 8, 2009

Generar diagramas de bases de datos en Postgres

Categoría: Programación — Edwood @ 10:31 am

Documentar una base de datos es una de las tareas más descuidadas, pero más importantes en el desarrollo de una aplicación que depende de ellas. Una de las razones para ello, al menos en mi caso, es la falta de una herramienta de código abierto para documentarlas automáticamente. He probado algunas con éxito, pero SchemaSpy, combinada con la interfaz gráfica SchemaSpyGUI, es la que recomendaría de entre las que he utilizado. Ambas aplicaciones están escritas en JAva por lo que será necesario tener por lo menos JRE 1.5 instalado.

Para utilizarla basta con descargar ambas aplicaciones en el mismo directorio (es lo más cómodo) junto con los ‘drivers’ JDBC del servidor de bases de datos que utilicemos, en mi caso los ‘drivers’ JDBC de Postgres.

En el caso de SchemaSpyGUI, la descarga es un archivo ZIP que hay que descomprimir:

$ unzip SchemaSpyGUI_Java1.5.zip
Archive: SchemaSpyGUI_Java1.5.zip
creating: SchemaSpyGUI/lib/
inflating: SchemaSpyGUI/lib/swing-layout-1.0.3.jar
inflating: SchemaSpyGUI/README.TXT
extracting: SchemaSpyGUI/schemaSpyGUI.bat
inflating: SchemaSpyGUI/schemaSpyGUI.jar
inflating: SchemaSpyGUI/schemaSpyGUI.sh
creating: SchemaSpyGUI/src/
creating: SchemaSpyGUI/src/schemaspygui/
inflating: SchemaSpyGUI/src/schemaspygui/AboutBox.form
inflating: SchemaSpyGUI/src/schemaspygui/AboutBox.java
inflating: SchemaSpyGUI/src/schemaspygui/Gui.form
inflating: SchemaSpyGUI/src/schemaspygui/Gui.java
inflating: SchemaSpyGUI/src/schemaspygui/LaunchSchemaOutput.java
inflating: SchemaSpyGUI/src/schemaspygui/Main.java
inflating: SchemaSpyGUI/src/schemaspygui/Operations.java
inflating: SchemaSpyGUI/src/schemaspygui/ReleaseText.properties

Recomiendo depositar en el directorio SchemaSpyGUI tanto SchemaSpy como los ‘drivers’ JDBC necesarios.

Al activar SchemaSpyGUI será necesario indicar la ubicación de SchemaSpy y de los ‘drivers’ como muestra la siguiente imagen:

SchemSpyGUI

SchemaSpy es el componente que hace el trabajo real de generar la documentación y los diagramas de relaciones en la base de datos. Esta es una muestra de un diagrama:

Ejemplo Diagrama SchemaSpy

Una de las capacidades adicionales de SchemaSpy que encuentro muy útil es la de identificar posibles anomalías en la estructura de la base de datos. El reporte de anomalías se obtiene marcando la pestañita Anomalies en el reporte. Entre las cosas que se reportan como anomalías están las posibles violaciones a la normalización de la base de datos.

Más artículos como este en:

Algunos artículos relacionados:


Proudly powered by wordpress - Theme by neuro
   *    Blogalaxia   Galaxia Linux   Unión de Bloggers Hispanos