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.
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 | https://www.firebirdsql.org/en/jdbc-driver/ |
Interbase | interbase.interclient.Driver | |
H2 | org.h2.Driver | https://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 | https://dev.monetdb.org/downloads/Java/ |
MySQL | com.mysql.jdbc.Driver | https://dev.mysql.com/downloads/connector/j/ |
Oracle | oracle.jdbc.driver.OracleDriver | https://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 jdbc
que 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.
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.
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
,
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.
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,