Generar diagramas de bases de datos en Postgres
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:
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:
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:
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:





