Introducción básica a la herramienta DBSchema

1
17124

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

2. Proceso de instalación

3. Accediendo a una base de datos

4. Configurando la conexión

5. Configurando diferentes drivers para un mismo tipo de bases de datos

6. Creando Layouts de tablas/entidades parciales en pestañas

7. Editar una tabla/entidad

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

14. Nota del autor

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.

Administrador de conexiones configuradas

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.

Administrador de drivers JDBC

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.

Configuración de plantilla de driver JDBC

Llegando incluso a poder definir el mapeo de datos para las conversiones JDBC-DB

Configuración de mapeo de tipos de datos entre controlador JDBC y base de datos

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.

Multilayout

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.

Multilayout con grupos y anotaciones

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.

Editar una tabla y sus propiedades

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.

Abrir los datos

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.

Editor gráfico de querys

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.

Seleccionar generar código sql

A continuación seleccionamos qué tipo de información vamos a introducir en el script, si estructura, datos o ambos.

Seleccionar estructura y/o datos

Es momento de indicar cuantas tablas estan implicadas en la generación del script.

Seleccionar las tablas implicadas en el script

Ya tenemos el script generado y podemos ejecutarlo en nuestra base de datos sin mas dilación.

Código generado en un SQLEditor

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.

Seleccionar aplicar los scripts de creación en la base de datos directamente

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.

Conectar a una base de datos

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.

Guardar el layout como 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.

Imprimir, vista previa

1 COMENTARIO

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

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad