SQLeo un editor visual de consultas SQL multiplataforma

Una de las características que mas he aprovechado de pgAdmin es el editor visual de consultas SQL cuando trabajo con PostgreSQL. Sin embargo, tal y como mencionaba en un artículo anterior, la última versión de pgAdmin, no dispone de este entorno visual.

Soy consciente de que utilizar un entorno visual de consultas para crear una base de datos, probablemente no esté bien considerado, aunque no entiendo porque. Sin embargo, las representaciones visuales siempre te dan una idea global del proyecto que está llevando a cabo.

En proyectos, donde haya un gran número de tablas, relacionadas entre si, donde además estas deban desplegarse en vistas, yo diría que un editor visual de consultas SQL, es algo mas que necesario, yo diría que es obligatorio.

En este sentido, he encontrado una solución, mientras que los desarrolladores de pgAdmin, implementan su propio entorno visual de consultas, se trata de SQLeo.

SQLeo un editor visual de consultas SQL multiplataforma. Ejemplo.

Un editor visual de consultas SQL. SQLeo Visual Query Builder

SQLeo

SQLeo es un editor visual de consultas SQL open source. Se trata de una potente herramienta SQL que te permite crear complejas consultas de forma gráfica. De igual forma, este editor visual de consultas SQL, te permite convertir complejas consultas en sencillos diagramas, con los que de forma gráfica, puedas tener una visión global de lo que pretende esa consulta.

Se tata de una aplicación de escritorio desarrollada en Java utilizando Swing, y que puede funcionar en cualquier plataforma con JRE 1.7+.

Los controladores JDBC

Una de las grandes ventajas de SQLeo, es que es multiplataforma, de forma que puede correr tanto en Linux, como en Mac OS X como en Windows. Por otro lado, permite conectarte a diferentes motores de bases de datos, no solo a PostreSQL, gracias a los controladores JDBC.

Así, entre los diferentes motores de bases de datos a los que puedes conectarte tenemos,

  • Oracle
  • MySQL
  • MariaDB
  • PostgreSQL
  • Firebird,
  • HSQLDB
  • H2
  • CsvJdbc
  • SQLite

Actualmente MySQL y MariaDB no necesitan controlador, porque lo lleva instado. Para el resto necesitarás descargar el controlador correspondiente y situarlo en el directorio de la aplicación. Posteriormente tienes que indicarlo para poder conectarte a la base de datos.

Database Name Class URL
Access https://sourceforge.net/projects/ucanaccess
Apache Derby org.apache.derby.jdbc.EmbeddedDriver https://db.apache.org/derby/derby_downloads.html
Csvjdbc org.relique.jdbc.csv.CsvDriver https://sourceforge.net/projects/csvjdbc/
DB2
Firebird org.firebirdsql.jdbc.FBDriver http://www.firebirdsql.org/en/jdbc-driver/
Interbase interbase.interclient.Driver
H2 org.h2.Driver http://h2database.com/html/download.html
HSQLDB org.hsql.jdbcDriver https://sourceforge.net/projects/hsqldb
MariaDB org.mariadb.jdbc.Driver https://downloads.mariadb.org/connector-java/+releases/
MonetDB nl.cwi.monetdb.jdbc.MonetDriver http://dev.monetdb.org/downloads/Java/
MySQL com.mysql.jdbc.Driver https://dev.mysql.com/downloads/connector/j/
Oracle oracle.jdbc.driver.OracleDriver http://www.oracle.com/technetwork/database/features/instant-client/index.html
PostgreSQL org.postgresql.Driver https://jdbc.postgresql.org/download.html
SQL Anywhere
SQL server / Jtds net.sourceforge.jtds.jdbc.Driver https://sourceforge.net/projects/jtds
SQLite org.sqlite.JDBC https://github.com/xerial/sqlite-jdbc/releases

Instalación

Dada la naturaleza de la aplicación (por estar implementada en Java), no necesitas gran cosa para hacerla funcionar en Ubuntu, Linux Mint, etc. En principio, tan solo el runtime de Java. Para instalarlo, es tan sencillo como hacer clic en JRE o bien, desde el terminal, ejecutar la siguiente orden,

sudo apt install default-jre

Una vez instalado, el siguiente paso es descargar SQLeo. Para ello, tienes que ir a la página de descargas y seleccionar la última versión.

Una vez descargada, tan solo tienes que descomprimirla y colocarla en cualquier directorio, como por ejemplo ~/aplicaciones/SQLeo. En este mismo directorio puedes descargar los controladores jdbcque necesites para el funcionamiento de la aplicación.

Funcionamiento

Una vez descargada la aplicación, el funcionamiento es muy sencillo. Solo tienes que abrir un terminal, y ejecutar la siguiente orden,

java -jar SQLeoVQB.jar

Si quieres SQLeo se incie con otra apariencia, la orden a ejecutar es

java -Dcom.sqleo.laf.class=LAF -jar SQLeoVQB.jar

Donde la apariencia la puedes seleccionar entre las siguientes,

  • javax.swing.plaf.metal.MetalLookAndFeel
  • com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
  • com.sun.java.swing.plaf.windows.WindowsLookAndFeel
  • com.sun.java.swing.plaf.motif.MotifLookAndFeel
  • com.sun.java.swing.plaf.gtk.GTKLookAndFeel

Tampoco te hagas muchas ilusiones, porque al ser una aplicación Java, nunca conseguirás que se integre lo suficiente con tu escritorio, con independencia del que estés utilizando.

Lo que si que es interesante es que hagas un lanzador para la aplicación. De esta forma, puedes iniciar la aplicación directamente. Para ello, crear un nuevo archivo ~/.local/share/applications/sqleo.desktop, con el siguiente contenido,

[Desktop Entry]
Type=Application
Name=SQLeo
GenericName=Visual Query Builder
Comment=Visual Query Builder
Exec=java -Dcom.sqleo.laf.class=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dfile.encoding=UTF-8 -Duser.home=/datos/apps/SQLeo/ -jar /datos/apps/SQLeo/SQLeoVQB.jar
Path=/datos/apps/SQLeo
Icon=/datos/apps/SQLeo/database.png
Terminal=false
Categories=Office;Utility;
Keywords=sql;database
StartupNotify=true

Aquí tendrás que cambiar Exec, Path e Icon, para que se adecue a donde tu has ubicado el archivo.

Configurando SQLeo

La primera vez que inices SQLeo, es interesante que lo configures para que te encuentres cómodo con su uso. Así, lo primero que debes hacer es ir a Tools > Preferences y cambiar el idioma a Spanish. Además puedes elegir tanto el tamaño de la fuente tipográfica, como el tamaño de los iconos. Una vez realizados estos cambios tienes que reiniciar SQLeo.

Por otro lado, como he comentado anteriormente, si vas a realizar consultas en bases de datos de MariaDB o MySQL, no es necesario que instales ningún controlador adicional JDBC. Sin embargo, si es como en mi caso, que vas a utilizar PosgreSQL, necesitas descargarlo. Una vez descargado, de alguna de las páginas indicadas anteriormente, lo colocas en el directorio principal de la instalación.

Ahora toca configurarlo. Para ello, en el Metadata explorer te situas sobre el controladar que quieras instalar, por ejemplo ODBC Bridge, y verás que en la parte inferior aparece un mensaje donde te indica que el controlador no está instalado y un botón install. Si lo pulsas, podrás configurar el controlador.

SQLeo un editor visual de consultas SQL multiplataforma. Controlador.

Uso

Una vez ya tienes configurado SQLeo según lo indicado en los apartados anteriores, el siguiente paso es conectarte a cualquier base de datos que hayas configurado. Por ejemplo, en mi caso he configurado una base de datos PostgreSQL. Si me sitúo sobre ella, aparece un botón con un símbolo de conexión. Haz clic para conectarte.

SQLeo un editor visual de consultas SQL multiplataforma. Configuración.

Una vez conectado, ha llegado el momento de generar nuestra primera consulta. Para ello, pulsa el botón con un símbolo de diagrama. Aquí pasarás al generador gráfico de consultas.

Aquí selecciona el esquema donde se encuentran tus tablas y vistas, y ves añadiendo aquellas que necesites. Verás que inmediatamente se van añadiendo las claves externas que unen las diferentes tablas foreign keys,

SQLeo un editor visual de consultas SQL multiplataforma. Consulta.

Si pulsas sobre la pestaña Sintaxis que se encuentra en la parte inferior del diseñador, verás el resultado de tu consulta gráfica. Aquí la puedes modificar de acuerdo a tus necesidades. En su caso, tu modificación se verá reflejada en el diseñador.

SQLeo un editor visual de consultas SQL multiplataforma. Exportar.

Por otro lado si le das al botón con el icono Play se ejecutará la consulta y podrás ver el resultado de la misma. Además podrás exportar fácilmente el resultado de tu consulta a un archivo CSV para importarlo posteriormente a cualquier hoja de cálculo que soporte este formato.

Conclusiones

Como puedes ver SQLeo es una interesante opción como editor visual de consultas SQL. Ciertamente para consultas sencillas, no es necesario ir utilizar este tipo de soluciones, pero sin lugar a dudas para realizar consultas complejas es algo mas que necesario.

Dicho esto, lo que no me termina de gustar es el uso del JRE. Al final este tipo de aplicaciones terminan por recargar, se vuelven lentas y por supuesto, no se integran con el entorno de escritorio, con independencia del que utilices.

Sin embargo, como dije al principio, mientras los desarrolladores de pgAdmin implementan el editor visual de consultas SQL, es una muy buena alternativa.


Más información,