DBeaver

5
26346

En este tutorial vamos a describir las operaciones básicas que podemos realizar sobre DBeaver y dos opciones que me han resultado muy útiles.

0. Índice de contenidos

1. Introducción

DBeaver es un gestor universal de BBDD multiplataforma, que ofrece soporte a las bases de datos más conocidas del mercado (MySQL, Oracle, DB2, SQL Server, PostgreSQL, etc ..) , así como algunas NoSQL (MongoDB, Cassandra).

Como características más destacada ofrece:

  • Navegar por la estructura de BBDD
  • Editar tablas, columnas, keys, etc.
  • Permite ejecutar scripts SQL.
  • Modificar columnas resultantes de una consulta.
  • Resaltado de SQL (específico para cada tipo de motor)
  • Autocompletado en el editor.
  • Soporte para ver y editar archivos BLOB.
  • Exportar tablas o resultados de querys.
  • Generación de entidad-relación.
  • Comparación de esquemas.

Dispone de 2 versiones Community y Enterprise, las dos son gratuitas (licencia GPL 2), la única diferencia es que la Enterprise Edition incluye el soporte a base de datos NoSQL.

2. Entorno

El tutorial está escrito utilizando el siguiente entorno:

  • Hardware: MacBook Pro 15′ (2.3 Ghz Intel Core i7, 16GB DDR3 SDRAM)
  • Sistema operativo: Mac OS X Mavericks 10.9.5.
  • Software: DBeaver 3.4.2

3. Instalación

Previamente a la instalación debemos tener en cuenta que DBeaver está hecha con java, por lo que deberíamos tener instalada la jre 1.6 o superior.

Una vez solventado este punto accedemos a su web http://dbeaver.jkiss.org/download/

image00

Seleccionamos las descargas para Mac OS, (versión Enterprise Edition), descargamos el zip, lo descomprimimos en la ubicación deseada y tendremos los siguientes ficheros:

image01

Doble click en dbeaver.app

image02

4. Crear Conexión MySQL

En este apartado vamos a ver cómo se crea una conexión a MySQL (para otros motores sería algo similar)

Para crear una nueva conexión File > New

image03

Seleccionamos la opción ‘Connection’ y pulsamos Next

image04

De todas las opciones, seleccionamos MySQL, y pulsamos Next

image05

Introducimos los datos de conexión y pulsamos Next

image06

Introducimos un nombre para la conexión, damos a Finish y ya tendríamos la conexión creada

image07

Desplegamos nuestra conexión y podremos ver todos los objetos de la BBDD

image08

5. Operaciones Básicas

Vamos a describir las opciones básicas que presenta la herramienta (explorar tablas, filtrado, editor SQL)

Desplegamos el esquema sakila > Tables para ver todas las tablas del esquema

image09

Seleccionamos la tabla customer haciendo doble click

image10

En la primera pestaña ‘Properties’ vemos toda la información de la tabla (columnas, constraint, references, etc..).

En la pestaña ‘Data’ dispondremos de un grid con el contenido

image11

En esta vista podremos añadir filtros para refinar la consulta

image12

La pestaña ‘Diagram’ nos permite ver gráficamente las relaciones que mantiene la tabla (las FK hacía otras entidades)

image13

Podríamos navegar a través del modelo haciendo doble click en la entidad seleccionada, por ejemplo si deseamos conocer las relaciones de store, realizamos doble click y nos mostraría sus relaciones

image14

Para crear un script con nuestras sentencias SQL abriríamos un ‘Editor SQL’ pulsamos el icono image15

En este editor podremos escribir nuestra sentencias SQL cómodamente, aprovechando las opciones de autocompletado de las que dispone.

image16

6. Creación de un modelo E-R

Una de las opciones destacadas que nos ofrece esta herramienta, es la posibilidad de crear diagramas de E-R de una manera muy sencilla, para ello pulsamos File – New

image17

Seleccionamos la opción ER Diagram y pulsamos Next

image18

Introducimos el nombre del diagrama y pulsamos Finish con lo que se crea un diagrama vacío

image19

Seleccionamos la tablas film, film_actor, actor, film_category, category, inventory y las arrastramos al diagrama.

image20

De esta manera somos capaces de generar diagramas de E-R parciales de nuestro modelo.

7. Comparación de esquemas

Otra de las opciones que me ha resultado más útil para mi trabajo actual, es la posibilidad de comparar esquemas, sobre todo para poder ver las diferencias que tienen diferentes versiones de nuestro modelo, o las diferencias entre BBDD de diferentes entornos (desarrollo, test, pre, etc..)

En nuestra BBDD disponemos de 2 esquema sakila diferentes

image21

Los seleccionamos, botón derecho > Compare

image22

Pulsamos Next

image23

Y al pulsar ‘Compare’ se abrirá el navegador con el resultado de la comparación

image24

En este informe podemos ver que en el esquema sakila_v2, la tabla actor no tiene la columna last_update y en la tabla film_actor no tiene la foreign key fk_film_actor_film.

8. Referencias

http://dbeaver.jkiss.org/

9. Conclusiones

Bueno, bonito, y barato.

Se trata de una herramiento muy útil que podemos añadir a nuestra mochila de desarrolladores, que si bien es cierto, tiene algún que otro bug, el equipo que la mantiene libera muy a menudo versiones solucionandolos y añadiendo nuevas funcionalidades.

Un saludo.

Jorge

jpacheco@autentia.com

5 Comentarios

  1. Saludos, como está, instalé el DBeaver en linux y me esta dando un error cuando lo voy a abrir/ejecutar dice que vea el log file y cuando lo veo es como error en .net framework, trato de instalarlo y me da error, tengo k instalar framework en linux o java para que no de problema al abrirlo?. Gracias anticipadas

  2. Mi aporte: a los que les sale el error en linux «An error has occurred. See the log file
    /home/myusuario/Programs/dbeaver/configuration/1507298052278.log.»

    ** la solucion está en la version de java, debe ser java 8 **

    > head /home/miusuario/Programs/dbeaver/configuration/1507298052278.log
    !SESSION 2017-10-06 09:44:52.357 ———————————————–
    eclipse.buildId=unknown
    java.version=1.7.0_51

    SOLUCION
    > export JAVA_HOME=/home/miusuario/Programs/jdk1.8.0_60/
    > export PATH=$JAVA_HOME/bin:$PATH
    > java -version
    java version «1.8.0_60»
    > dbeaver

    ——
    openSUSE 13.1 (x86_64)
    VERSION = 13.1
    CODENAME = Bottle

  3. Jorge muchas gracias por esta introduccion a Dbeaver, he istalado el programa y es una maravilla, quisiera hacer una consulta ya que llevo poco conociendo el software (peo con lo poco que he visto he quedado muy contento) y es posible que cuando arreglo la disposición de mis tablas en el diagrama de ER no se me reubique nuevamente, si es asi agradezco una ayuda con este tema ya que cada vez que veo mi modelo, ne toca reordenarlo.
    Es algo visual, pero me seria de gran ayuda.
    Atte: Enrique T

Dejar respuesta

Please enter your comment!
Please enter your name here