Clientes gráficos para MySQL

En el segundo cuatrimestre de este curso académico imparto, tras un paréntesis de varios años, Fundamentos de bases de datos, en el Grado en Información y Documentación que se cursa en la Univ. de Zaragoza. Vuelvo a los orígenes, de lo que empecé dando clase allá por un lejano 1991, y que desarrollé durante bastantes años. Revisando la asignatura, de nuevo me encuentro con los conocimientos básicos que debe tener todo gestor de información.

Y es que las bases de datos son el soporte imprescindible de toda actividad digital que se lleva a cabo en la actualidad. Es difícil comprender la lógica o el funcionamiento de los sistemas de informatización de unidades de información, de los sistemas de gestión de contenidos, o de los repositorios, si no se conoce lo básico subyacente: las bases de datos. Incluso el web semántico tiene un fortísimo componente de database-driven. Los conceptos fundamentales de base de datos, de sistema de gestión de bases de datos, y de arquitecturas y modelos de bases de datos resultan tan necesarios para la profesión como los metadatos, los tesauros o la atención al usuario. Sin embargo, donde se aprecia un cambio progresivo es en las herramientas que los usuarios pueden utilizar para diseñar, implementar y gestionar bases de datos. Lejos quedan los tiempos de dBase III+, con el que muchos aprendimos, seguido de Clipper y de FoxBase, que Microsoft acabó comprando para meterlo dentro del primitivo Access, desarrollando su política de comprar a terceros al ser incapaz de desarrollar por sí misma productos de calidad.

Sin embargo, estas eran herramientas de escritorio. Realmente, un buen sistema de gestión de bases de datos responde a un modelo cliente/servidor. Oracle es un servidor de bases de datos, MySQL es un servidor, PostgreSQL es un servidor, Firebird es un servidor… los sistemas de gestión de contenidos, omnipresentes en internet, se apoyan en un servidor de este tipo. Todos ellos tienen clientes, que son aplicaciones que permiten conectarse al servidor y enviarle conjuntos de órdenes para manipular las bases de datos y los datos que contienen, a través de secuencias de órdenes en SQL. Los más clásicos son los que ofrecen una líneas de órdenes («comandos» para los incultos), pero los más interesantes para usuarios de tipo novel y medio son aquellos que ofrecen una interfaz gráfica. Si además incluyen herramientas gráficas de diseño de modelos de datos E-R, pues mejor que mejor.

  • phpMyAdmin: El clásico cliente, en php, que se instala junto a los servidores MySQL. No es una herramienta de escritorio, sino una interfaz web a la gestión de datos. No incluye funcionalidades de diseño.
  • MySQL Workbench: La herramienta que es la opción básica. Es la combinación de los antiguos MySQL Administrator y MySQL Query Browser, que tanto se han usado en GNU/Linux, con las funcionalidades de diseño E-R que ofrecía DBDesigner 4, que fue adquirida hace unos años por MySQL. Sirve tanto para diseñar modelos de base de datos, como para implementarlos en diferentes tipos de servidor (MySQl, PostgreSQL, SQL Server, Oracle…). También ofrece todas las funcionalidades necesarias para la gestión de tablas y datos, las órdenes SQL, etc. Versiones disponibles para GNU/Linux, Win y OS X.
  • TOra: Un cliente clásico de escritorio para gestionar tablas y datos. Ofrece un gran soporte a las órdenes SQL. No incluye prestaciones de diseño de modelos. Instalable en plataformas GNU/Linux, Win y OS X.
  • HeidiSQL: Potente cliente de escritorio para gestionar bases de datos y datos contra MySQL y SQL Server. Soporta ampliamente SQL. El defecto: sólo tiene versión Win.
  • DBDesigner 4: La herramienta de diseño gráfico de modelos E-R que abrió el campo hace años. Sus funcionalidades han sido incorporadas y mejoradas en MySQL Workbench, pero aún puede descargarse e instalarse independientemente. Versiones para GNU/Linux y Win.
  • MySQL Navigator: Otro cliente básico para gestionar tablas y datos, sin soporte a diseño.
  • SquirreL SQL: Es un cliente JDBC múltiple, en Java, que puede conectar con diferentes servidores (MySQL, Postgres, SQL Server…). Su objetivo es trabajar directamente con bases de datos, y no da soporte a tareas de diseño de modelos. Hay versión para GNU/Linux (fuente o rpm), Win y OS X.
  • DBEdit 2: Cliente gráfico, programado en Java, para gestionar tablas y datos contra MySQl, SQL Server, etc. No ofrece opciones de diseño. Versiones para GNU/Linux, Win y OS X.
  • Sequel Pro: Cliente para gestión de datos sólo contra MySQL. Sólo tiene versión OS X.
  • ArgoUML DB-UML: Herramienta para diseñar bases de datos, usando UML, basada en el paquete de diseño multipropósito ArgoUML.
  • Open ModelSphere: Se trata de una herramienta de diseño de bases de datos, programada en Java, que puede interactuar con diferentes servidores, y es capaz de hacer ingeniería inversa, para obtener los modelos de bases de datos ya existentes. Trabaja con UML. Sólo hay versión Win.
  • SQL Power Architect: Otra herramienta de diseño de bases de datos programada en Java. Cobran (y caros) los manuales. Versiones para GNU/Linux, Win y OS X.

Y, por supuesto, nuestro propia aplicación para la educación, SuiteDBDoc, orientada al aprendizaje del diseño de modelos y  del SQL.