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
- 2. Entorno
- 3. Instalación
- 4. Crear Conexión MySQL
- 5. Operaciones Básicas
- 6. Creación de un modelo E-R
- 7. Comparación de Esquemas
- 8. Referencias
- 9. Conclusiones
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/
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:
Doble click en dbeaver.app
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
Seleccionamos la opción ‘Connection’ y pulsamos Next
De todas las opciones, seleccionamos MySQL, y pulsamos Next
Introducimos los datos de conexión y pulsamos Next
Introducimos un nombre para la conexión, damos a Finish y ya tendríamos la conexión creada
Desplegamos nuestra conexión y podremos ver todos los objetos de la BBDD
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
Seleccionamos la tabla customer haciendo doble click
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
En esta vista podremos añadir filtros para refinar la consulta
La pestaña ‘Diagram’ nos permite ver gráficamente las relaciones que mantiene la tabla (las FK hacía otras entidades)
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
Para crear un script con nuestras sentencias SQL abriríamos un ‘Editor SQL’ pulsamos el icono
En este editor podremos escribir nuestra sentencias SQL cómodamente, aprovechando las opciones de autocompletado de las que dispone.
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
Seleccionamos la opción ER Diagram y pulsamos Next
Introducimos el nombre del diagrama y pulsamos Finish con lo que se crea un diagrama vacío
Seleccionamos la tablas film, film_actor, actor, film_category, category, inventory y las arrastramos al diagrama.
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
Los seleccionamos, botón derecho > Compare
Pulsamos Next
Y al pulsar ‘Compare’ se abrirá el navegador con el resultado de la comparación
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
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
Hola Jorge.
* Veintiúnica guía de dbeaver en español que existe a la fecha. Muy buen trabajo. Gracias y Saludos.
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
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
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
Ya encontré la solución a que se desordenaba el diagrama E-R, de acuerdo al siguiente foro, se debe crear un diagrama personalizado el cual si se puede guardar como una extensión .erd.
Me funcionó luego comparto
https://dbeaver.io/forum/viewtopic.php?f=2&t=2084
Hola Buen dia;
tienes algun query para que de un esquema me muestre que tablas existen?
Gracias
Buenas,
consulta, si quiere spolear directamente a un excel ya guardado en un ubicacion predefinida