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:


Hay 2 comentarios »

  rss artículos Sindicación RSS para que pueda seguir los comentarios en este artículo.

  1. Jorge comenta:

    Hola Edwood,

    Tengo un problema. Quiero sacar la representación gráfica de las relaciones pero me da un error:

    information_schema pg_catalog public (0sec)
    Writing/graphing summary…
    Warning: Failed to run dot.
    Download dot version 2.2.1 or versions greater than 2.4
    from www.graphviz.org and make sure that dot is in your path.
    Generated pages will not contain a diagramtic view of table relationships.
    …..(0sec)

    ¿Como tienes instalada la libreria gráfica? he intentado descargarla, pero solo encuentro el instalador

    Si me das alguna pista ….

    Muchas gracias.

  2. Edwood comenta:

    Saludos.

    Si usas Ubuntu, el paquete ‘graphviz’ se instala asi:

    sudo apt-get install graphviz

    Si usas SlackWare:

    sudo slapt-get -i graphviz

    Si usas otra distribución Linux, el nombre del paquete debe ser similar.

Deje un comentario

(requerido)

(requerido)




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