Herramientas de software libre SQL

Nuestras bases de datos (abreviado “BD”) son las que mantienen con vida Internet. ¡Eso quién puede dudarlo! Incluso se habla desde hace algunos años del desarrollo de sistemas operativos con los cuales los usuarios no tienen contacto directo con los ficheros, sino que sus archivos personales son guardados en una BD local. De hecho, ya vemos como existen servicios en línea que realizan esto por nosotros, tales como Google Drive o Nextcloud, este último escrito con licencia libre Affero.

Ya os hemos hablado de las soluciones para BD, tanto en software privativo como libres, de tipo noSQL o SQL, y estas últimas las trataremos en este artículo.

Un ejemplo práctico, y sobre el cual ya hemos traído a colación, es MySQL Workbench, con la que expusimos la mayor parte de las tareas que confrontamos día a día los equipos de monitorización y desarrollo. Pero, al día de hoy, a los usuarios cada vez más se le presentan casos en los cuales deben extraer información de una BD.

Aunque dejaremos, por ahora, de un lado las BD no SQL, generalmente hoy en día podremos crear un grupo de usuarios con derechos de solo lectura para que determinados empleados puedan retribuir materia prima en pos de su labor. Esto está dentro de la BD en sí misma, desperdigada en muchos ficheros en el motor de la BD.

De esta manera cualquiera puede utilizar el lenguaje de consulta estructurado (Structured Query Language o SQL) por medio de la línea de comandos y obtendrá ingente cantidad de información. Esto es posible porque cada motor de BD, casi siempre, trae su propio programa para ello.

No describiremos dichos software en este artículo porque, aunque somos fanáticos del texto puro y simple, los gráficos y colores tienen una particular atracción para muchos seres humanos; siempre nos rendimos ante el refrán “una imagen vale más que mil palabras”. En las reglas que sentó Edgar Frank Codd (Reglas de Codd) para las DB relacionales, la número cuatro (descripción de la BD) es idónea para ser representada gráficamente, especialmente los modelos de entidad y relación.

software libre sql 1

Leyenda: Ejemplo de entidad relación
Wikipedia: https://en.wikipedia.org/wiki/File:ER_Diagram_MMORPG.png

Software libre SQL

Así, nuestra lista de aplicaciones hechas en software libre cumple o contiene la mayoría de herramientas necesarias para crear, visualizar o modificar tanto las estructuras de las BD como sus informes, consultas, disparadores, etc. No pretende ser una lista exhaustiva, ni nos preocuparemos por saber qué tan actualizadas o mantenidas sean: el software libre es eterno, porque siempre podremos aprender de lo básico, directo de la experiencia de nuestros antecesores por medio de su código fuente original. Así incluso podremos adaptarlo a nuestras necesidades y/o posibilidades, ¡e inclusive bifurcar y crear nuestras propias herramientas!

En orden cronológico de creación, os traemos:

phpMyAdmin

Inspirado por MySQL-Webadmin, en 1998 aparece esta herramienta para MySQL (y luego para su bifurcación, MariaDB). Pero es realmente en 2001 cuando despega en SourceForge al ser tomado por Olivier Müller, Marc Delisle y Loïc Chapeaux. Su creador, Tobias Ratschiller, carecía de tiempo para encargarse de la gran comunidad que creció en torno a su idea, que tuvo un crecimiento sin pausa y en 2015 tuvo su segundo repunte al crear su propia red de distribución de contenidos (CDN) y alojar en GitHub su código fuente (con 17 repositorios diferentes; es todo un universo en sí mismo).

phpMyAdmin incluso generó phpPgAdmin, que es utilizado para PostgreSQL pero que ahora tienen desarrollos independientes. Son frecuentes las confusiones de nombre a nivel mundial; pese a ser muy simple, Google recibe diariamente muchas búsquedas equivocadas. Esto, por cierto, nos conduce a nuestra próxima herramienta en la lista.

pgAdmin

Sí, pgAdmin es otro software para las BD PostgreSQL, y también presentada en 1998… como software privativo. Como lo único constante es el cambio, pgAdmin ha pasado por cuatro grandes etapas, cada una muy distinta, y en esta versión 4 está escrita en lenguaje Python con Flask y JQuery con Bootstrap y la biblioteca gráfica Qt; además, también funciona bajo Microsoft Windows®. Merece su mención especial por mostrar datos de tipo geométrico y producir panoramas como el siguiente, directamente de una BD:

software libre sql 2

Leyenda: pgAdmin, software libre SQL, representando datos de tipo geométrico
https://www.pgadmin.org/screenshots/

SQLyog

Los próximos tres en nuestra lista son del año 2001. SQLyog es poco publicitada y, al igual que pgAdmin, al principio estuvo en software privativo y desde 2013 mantiene un repositorio en GitHub, ya que el servicio de Google Code anunció su cierre.

Tiene características amigables con el usuario: autocompletado de sentencias SQL, ambiente al estilo de hoja de cálculo, permite restaurar sesión evitando pérdida de trabajo, guiones SQL favoritos, etc. Escrito en lenguaje C++ y solo para Windows® pero en modo autocontenido (no utiliza librerías del sistema operativo).

Squirrel SQL Client

Escrito en lenguaje Java, con su librería gráfica Swing corre en cualquier ambiente con Máquina Virtual Java; lo hemos incluido por su portabilidad. Aunque su interfaz gráfica es frugal, puede conectarse con 27 BD distintas, incluyendo Microsoft Access®, MySQL, PostgreSQL (en realidad todas las que estén incluidas en JDBC 2.0).

software libre sql 3

Leyenda: Squirrel SQL Cliente
http://www.squirrelsql.org/index.php?page=screenshots

TOra

Privativo al nacer en 2001, es software libre desde 2005. No es muy conocido, pero… si nombramos a Oracle®, ¿os suena? En realidad TOra utiliza un paquete de herramientas de esa empresa para conectar precisamente las bases de datos comerciales. Dicha librería, hecha por Sergei Kuchin, está bajo licencia BSD desde 1996 y como Squirrel SQL Client es capaz de utilizar ODBC para conectar con varias DB. La última actualización del 12 de mayo de 2019 está optimizada para compilar con la versión GNU C++ 9.1.

DBEdit

Llegamos al año 2006 y Java más JDBC siguen siendo protagonistas. Por ello (al igual que Squirrell SQL Client) DBEdit conecta con muchas DB pero con una simplicidad a toda prueba. Mirad:

software libre sql 4

Leyenda: DBEdit
Wikipedia: https://en.wikipedia.org/wiki/File:DBEdit2Screenshot.png

HeidiSQL

No, no viene de Suiza. Su nombre anterior era «MySQL-Front» y ya os dijimos lo de las confusiones de nombres, así que para no tener problemas legales de algún tipo entre ambos proyectos fue relanzada como HeidiSQL para BD MySQL. Pasando por múltiples tropiezos, su creador, el alemán Ansgar Becker, en 2011 añadió soporte para Microsoft SQL Server® (Heidi también corre en Windows®) y en 2014 para PostgreSQL. Tiene soporte completo para trabajar por línea de comandos. Sin embargo, mirad qué bonita es de manera gráfica, aquí creando una tabla:

software libre sql 5

Leyenda: HeidiSQL
https://www.heidisql.com/help.php

Adminer

El «patito feo» de la lista, pero no lo subestimeis para nada. Se convierte en todo un gigante al manejar grandes BD, Oracle®, MS SQL®, PostgreSQL, MongoDB, Firebird, SQLite, e incluso Elasticsearch (una herramienta usando otra herramienta), todas de manera remota. Repetimos, no esperéis mayor hermosura, incluso su repositorio en GitHub es bastante parco (varios usuarios han compuesto «temas» de manera independiente). Vamos, una terminal de comandos con ventanas sería la descripción correcta, pero cuando necesitamos trabajar duro esta aplicación checa no se anda con rodeos. Hecha con PHP 5 (no excluyente para versiones anteriores de PHP), permite compilar a un solo archivo (usar y borrar, si se quiere o necesita). Jakub Vrana, su autor, utilizó durante más de 5 años phpMyAdmin y todo lo que a este software le falta o es deficiente lo encontraremos en Adminer, a excepción de opciones para exportar DB, donde phpMyAdmin es claramente ganador.

Database Deployment Manager

Llegamos a esta década de 2010 y presentamos Database Deployment Manager, orientada hacia el diseño y creación de DB. La incluimos aquí por su uso didáctico al carecer de elementos que causen distracción alguna. Destaca su exportación de gráficos en formato SVG con la estructura que hayamos creado o modificado. Excelente para estudiantes, una interfaz gráfica limpia, sin mayores pretensiones. Solo trabaja con Sqlite, MySQL y CUBRID, una BD open source hecha en puro lenguaje C. De armas tomar.

DBeaver

Tiene como mascota un castor (beaver) y reconocen que han puesto empeño en el entorno gráfico, sin descuidar la programación (más de 1600 fallas resueltas en su sitio en GitHub). También está hecho en Java con el conector DB correspondiente; por ello se vanaglorian de conectar con cualquier base de datos.

software libre sql 6

Leyenda: Logotipo DBeaver
Wikipedia: https://en.wikipedia.org/wiki/File:DBeaver_logo.svg

Es la solución más completa e, incluso, tal como Pandora FMS, tiene una versión Enterprise para manejar BD noSQL.

software libre sql 7

Leyenda: DBeaver en acción
Repositorio en https://github.com/dbeaver/dbeaver/

MyWebSQL

De las analizadas es la única que se presenta como complemento en WordPress, pero atentos, solo para administrar la BD que contiene a WP. Sí, suena un poco arriesgada la propuesta, de hecho en la comunidad lo rechazaron de manera oficial, pero el software libre ofrece libertad plena y cada programador(a) puede descargarlo por su cuenta. Nos entusiasma que tiene un módulo exclusivo para configurar los atajos de teclado, cuestión muy práctica y útil para cualquiera.

software libre sql 8

Leyenda: Atajos de teclado en MyWebSQL
http://mywebsql.net/screenshots/others.html

Aseveran que, sin conocer ni un solo comando SQL y por medio de su intuitivo ambiente gráfico, cualquier usuario puede mantener y tratar una BD, gracias a su “lo que ve es lo que obtiene”.

Orbada

Aplicación polaca. De nuevo Java y su conector, pero en esta oportunidad observamos instrucciones para colocar Orbada en un pendrive ya que utiliza apenas 150 megabytes, algo pequeño cuando ya hablamos de discos duros con terabytes de espacio. Puede exportar XML, HTML, SQL (INSERT), DBF, EXCEL, PDF y muchos otros formatos. Dispone de autocompletado de código, asistentes y nos sorprende al utilizar un complemento para conectar HSQLDB (también usada en OpenOffice y LibreOffice):

software libre sql 9

Leyenda: Orbada con una instancia abierta en HSQLDB
https://orbada.sourceforge.io/html/www_orbada_doc-2.html

La documentación en línea, en cambio, tiene muy pocos elementos gráficos y está enfocada siempre desde el punto de vista de un programador, así que no la recomendamos para personas con poca experiencia. Por ejemplo, mirad una consulta SQL con expresión regular para un macro:

software libre sql 10

Leyenda: Orbada con una instancia abierta en HSQLDB
https://orbada.sourceforge.io/html/www_orbada_doc-2.html

phpLiteAdmin

Para variar volvemos a PHP, en este caso completamente escrito en este lenguaje y es el más pequeño de este reporte; aunque no lo crean no llega siquiera a un megabyte… ¿Quieren sorprenderse más? Incorpora un servidor web liviano para poder usarlo, traducido a 10 idiomas, interfaz inspirada en phpMyAdmin, no necesita mayor configuración: colocar en una carpeta, ejecutar y usar con nuestro navegador web preferido (o el que trae). No todo es tan bueno: solo conecta con SQLite, versiones 2 y 3, es lo único que hace y lo hace bien.

software libre sql 11

Leyenda: phpLiteAdmin, demostrativo https://www.phpliteadmin.org/demo/

Quedamos prendados de la sencillez de dicho programa; lo consideramos muy adecuado para personas que se inicien en el campo de la programación e incluso recomendamos exportar datos seleccionados (SQL, CSV) de cualquier BD a SQLite y colocar en la misma carpeta de phpLiteAdmin, y a trabajar se ha dicho. Su repositorio principal reposa en Bitbucket.

SQLBuddy

Es el último en llegar y el primero en irse, según podemos leer en la página de Adminer, quien lo consideraba su principal competidor (yo me preocuparía más bien de phpMyAdmin). Fue traducido a 47 idiomas y hay más información en GitHub (licencia del MIT) que en su propia página web. Fue descontinuado en 2011, muy parecido al veterano phpMyAdmin, y lo incluimos aquí por su peculiar uso de la tecnología Ajax y el uso garantizado del teclado sin mover para nada vuestro ratón.

Pandora FMS

Antes de despedirnos, nos encantaría que dedicaras unos momentos a conocer nuestro software de monitorización: Pandora FMS.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es/

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con el equipo de Pandora FMS a través del siguiente formulario: https://pandorafms.com/es/contactar/

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/

Shares