Introducción básica a la herramienta DBSchema
ERM, Bases de datos para: Windows, Linux y Mac
Objetivo del documento:
Presentar la herramienta a profesionales TIC que trabajen con bases de datos
Fecha de creación 31/08/2010
Página web de la herramienta:
http://www.dbschema.com
http://sourceforge.net/projects/dbschema
Página web de descarga directa
http://www.dbschema.com/download.html
índice
1. Descripción de la herramienta
3. Accediendo a una base de datos
5. Configurando diferentes drivers para un mismo tipo de bases de datos
6. Creando Layouts de tablas/entidades parciales en pestañas
8. Abriendo los datos de una tabla/entidad
9. Creando una query a modo gráfico
10. Guardando un fichero .SQL con la estructura y/o datos del modelo de negocio diseñado
11. Crear el modelo diseñado directamente en la base de datos
12. Guardando un layout como un fichero JPG/PNG/GIF o HTML/SVG
13. Guardando un layout como un fichero PDF
Descripción de la herramienta
Esta aplicación es una herramienta que de manera gráfica e intuitiva ayuda durante todo el proceso de diseño, creación y posterior manteinimiento de bases de datos que esten soportadas por un driver JDBC de Java.
Las funciones claves son:
- Ingeniería inversa para crear el modelo de negocio de una base de datos existente en una representación gráfica del mismo.
- Posibilidad de modificar un modelo de negocio de manera directa aplicando los cambios a la base de datos, también de manera indirecta (sin conexión) con la posterior sincronización de los cambios.
- Diagramas del modelo vivios, a medida que trabajamos podemos expandir gráficamente las relaciones de las tablas, incluso crear querys de varias tablas únicamente seleccionándolas.
- Generación de documentación vía web del modelo de datos (versión de pago).
- Muy fácil exportación a JPG/PNG/GIF o HTML/SVG de un layout creado con un conjunto de tablas/entidades. útil para la documentación de un proyecto.
Todo esto es posible ya que utiliza la metainformación del driver JDBC que se utiliza en la conexión a las diferentes bases de datos.
Si algún desarrollador de Java quiere saber mas al respecto, el proceso de obtener la estructura de la base de datos se basa en el objeto DatabaseMetadata que podemos recibir directamente de la conexión de cualquier driver JDBC, para ello usaremos Conexion conn = jdbcdriverdataset.getConnection() y luego un simple conn.getDatabaseMetadata();.
DBSchema se distribuye en 2 versiones, la versión libre y la de pago. La versión libre tiene algunas limintaciones en cuanto a la creación del modelo de negocio mediante ingeniería inversa, en el proceso de sincronización y en cuanto al número de layouts de trabajo que podemos crear. Pero nada importante para las tareas del día a día que requiere un modelo de negocio.
Para información específica y actualizada: http://www.dbschema.com/features.html
Al ser una aplicación Java está soportada por cualquier sistema operativo moderno, como puede ser Windows XP/7, Linux Ubuntu o CentOS y MacOS X. Es completamente portable y no requiere instalación. Además le indicará en la barra de estado inferior del consumo de memoria que implica la actividad que está realizando en ese momento.
Soporta múltiples bases de datos, pero una característica importante es que podemos añadir o modificar cualquier driver JDBC según nos requiramos en su gestor de drivers.
MySql, PostgreSql, SqlServer, Derby, Firebird, Oracle, Db2, Informix, HSql, Pointbase, Mimer, Pervasive, Sybase, …
Para información al respecto de bases de datos soportadas por defecto :http://www.dbschema.com/drivers.html
Proceso de instalación
únicamente requiere Java JRE instalado en el equipo. Aunque como se aprecia en su página web de descargas existen configuraciones listas para funcionar que incorporan su propia versión de java.
Accediendo a una base de datos
Desde la barra de herramientas tenemos un desplegable que nos permite trabajar en modo desconectados de la base de datos, o cambiar a modo conectados. En el ejemplo de la imagen nuestra conexión se llama «hmm».
Al intentar pasar a modo conectado DBSchema nos pregunta si antes de proceder queremos sincronizar nuestra información del modelo de negocio para estar seguros que estamos viendo el esquema correcto, o si simplemente queremos conectar y trabajar en modo conectado sin sincronizar la estructura. Esta segunda opción es muy rápida para consultar datos o si estamos seguros de que no han habido cambios en el modelo de negocio
Configurando la conexión
Mediante el menú Schema -> Manage JDBC Connections encontramos el administrador de conexiones JDBC configuradas para que DBSchema se conecte a diferentes proyectos.
En el menu Tools -> Driver Manager, tenemos la opción de añadir y gestionar nuestros controladores JDBC para posteriormente poder usarlos en conexiones a bases de datos.
Configurando diferentes drivers para un mismo tipo de bases de datos
Muchas veces acabamos conectandonos, según el proyecto a bases de datos que pueden ser del mismo tipo, Oracle o PostgreSQL por ejemplo pero de versiones muy distintas, y aunque el driver de la última versión del fabricante soporte todas sus versiones, el cliente/proyecto nos obliga a usar un driver determinado para tener un entorno lo mas parecido a producción posible. Para ello DBSchema introduce las templates de configuración del driver JDBC, donde se establecen los parámetros de cada tipo de conexión, pudiendo dar de alta tantos como se requiera y no tener que repetir esta configuración en cada proyecto similar.
Llegando incluso a poder definir el mapeo de datos para las conversiones JDBC-DB
Creando Layouts de tablas/entidades parciales en pestañas
El mayor atractivo de DBSchema para mí no es la posibilidad de llevar un control de cambios de un modelo de negocio, aunque es tarea muy fácil con esta herramienta. El mayor atractivo es la posibilidad de diseñar layouts parciales como el de la imagen y la posibilidad de hacerlo crecer directamente haciendo clic en las flechas que representas las claves foráneas importadas y exportadas.
Lo mejor, dentro del propio layout el arquitecto tiene la opción de agrupar conjuntos de tablas en grupos y a su vez crear anotaciones como muestra la imagen.
Editar una tabla/entidad
Para editar la estructura de una tabla, incluyendo sus claves foráneas y constrains únicamente tenemos que hacer doble clic sobre su caption y aparecerá la pantalla de edición que muestra la imagen.
Abriendo los datos de una tabla/entidad
Para ver el contenido de una tabla únicamente debemos hacer clic sobre ella con el botón que accede al menú contextual del ratón y seleccionar Abrir los datos, en ese momento se nos mostrará una ventana con el contenido de la tabla a modo de grid.
Creando una query a modo gráfico
El query editor es una potente herramienta que según su diseño y seleccionando sus tablas directamente del diagrama/layout con el que esté trabajando, le construirá una query que podrá almacenar y sencillamente ejecutarla, seleccionando del desplegable de conexiones la que usted desee.
Puede acceder al mismo, seleccionando una tabla y con el menú contextual haciendo clic sobre Query Editor, el resto de tablas implicadas en la query puede arrastrarlas directamente al layout del Query Editor que habrá aparecido en la parte inferior, como muestra la imagen.
Guardando un fichero .SQL con la estructura y/o datos del modelo de negocio diseñado
Para convertir nuestro modelo de negocio diseñado en el layout a un script sql válido para una conexión debemos seguir los siguientes pasos. Dirigirnos a Scripts&Docs y seleccionar la opción generar código sql como muestra la imagen.
A continuación seleccionamos qué tipo de información vamos a introducir en el script, si estructura, datos o ambos.
Es momento de indicar cuantas tablas estan implicadas en la generación del script.
Ya tenemos el script generado y podemos ejecutarlo en nuestra base de datos sin mas dilación.
Crear el modelo diseñado directamente en la base de datos
Este paso requiere de un conocimiento un poco mas elevado del alcance de este manual, lo he incluido para que sepa que esta opción existe, y es muy similar a la opción de generar código SQL con la diferencia de que antes de comenzar el proceso debe seleccionar una conexión a una base de datos.
Sólo debe realizar esto si está seguro de que tiene una copia de seguridad de su base de datos, de que es capaz de restaurar dicha copia en caso de desastre y está seguro de que quiere aplicar los scrips que finalmente genere la aplicación.
Guardando un layout como un fichero JPG/PNG/GIF o HTML/SVG
Para guardar nuestro modelo de datos actual en un fichero, ya sea un formato vectorial como SVG o binario como JPG, GIF o PNG únicamente debemos dirigirnos a Archivo -> Imprimir como… y seleccionar la opción deseada como representa la siguiente imágen.
Guardando un layout como un fichero PDF
Si lo que necesitamos es el layout actual en formato PDF podemos ayudarnos de la herramienta PDFCreator, una vez instalada dispondremos de una impresora para extraer nuestro modelo de negocio en un fichero PDF. Para ello debemos dirigirnos a Archivo -> Imprimir, o pulsar «Contro+P», y seleccionar nuestra impresora creada por PDFCreator.
Lo mas importante en este caso es ajustar el diagrama en la página, para ello debemos previsualizarlo mediante la opción Archivo -> Vista previa, veremos la pantalla que adjunto a continuación.
Me alegro mucho de leer tus tutoriales, que están muy bien trabajados, muy bien explicados y con honestidad.
Espero que continúes en esta línea mucho tiempo, y ver gente como tú, desde mi punto de vista, es positivo para la comunidad informática.
Gracias a Autentia por permitir este crecimiento de información.