Entre todas las herramientas de consultas a bases de datos resalta Esperant por su carácter innovador. Basado en una interfaz de lenguaje natural, representa el primer paso hacia una nueva generación de software que pondrá la complejidad en manos de los usuarios menos instruidos.

En el jurásico de la informática, la consulta a bases de datos representaba una tarea circunscrita a un pequeño círculo de expertos que dominaba los diversos lenguajes al uso. Poco a poco se introdujeron facilidades para que el personal menos cualificado pudiera realizar consultas sin molestar a los oráculos de los datos. Surgieron sistemas de consultas basados en menús, y recientemente con el estallido de las interfaces gráficas se ha conseguido que este tipo de tareas se convierta casi en un juego de niños.

Actualmente casi todos los sistemas de gestión de bases de datos relacionales soportan el lenguaje SQL. Muchos productos han conseguido esconder la complejidad del álgebra relacional bajo atractivos cuadros de diálogo, pero sólo Software AG con su herramienta ESPERANT, ha abierto una nueva vía más cómoda para este menester. Se trata de una interfaz basada en lenguaje natural. La originalidad del producto merece nuestra atención más pormenorizada.

Administrador de datos

ESPERANT para Windows es una potente herramienta de consulta de bases de datos y generación de informes para usuario final, basada en arquitectura cliente-servidor. ESPERANT está dotado de dos módulos: el Administration System y el Query System. El módulo administrador es muy completo y sofisticado, que hace las funciones de un gestor de diccionarios. También sirve para ocultar al usuario final las complejidades de una base de datos relacional. Por esta razón esta herramienta debe ser utilizada por técnicos para definir vistas de datos comprensibles y fáciles de utilizar para los usuarios. Esta utilidad permite almacenar vistas de bases de datos, llamadas DataViews, para luego ser reutilizadas en consultas e informes cuantas veces sea necesario, sin tener que volver a definir nuevos filtros de datos. La creación de estas vistas puede ser automática mediante la opción AutoBuild o manual mediante la opción Build, una vez se han seleccionado las tablas, las claves primarias y foráneas, a través de las fuentes de datos más convenientes. A partir de esa situación el Administrator System soporta campos virtuales, uniones, ocultar columnas, etc. El Administrador también permite crear simples formularios para la entrada de datos llamados Forms. Estos formularios son simples rejillas como las de una hoja de cálculo, sin ninguna posibilidad de añadir recursos gráficos o botones.

El objetivo del Administrador no es sólo gestionar un diccionario de datos sino abstraer las complejidades de un esquema relacional, en un simple diagrama conceptual plano, asequible a la mentalidad de los usuarios finales. A parte de los datos, también se tiene completo control de usuarios, tanto para opciones de seguridad como para definir el tipo de consultas que puede hacer el usuario. Las características del administrador convierten a ESPERANT en una herramienta corporativa muy útil. El administrador se provee una DataView realizada sobre una base de datos en formato Watcom SQL.

Como todos los productos de éste género, ofrece un buen soporte de acceso a datos heterogéneos a través de diversas pasarelas. Se soportan ODBC y Q+E. Además se provee de acceso nativo a Sybase y Oracle, y mediante los controladores propios, llamados entire access, se consigue acceso a Oracle, DB2, Sybase, Informix, SQL-DB y como no, Adabas SQL Server.

Por si fuera poco se ofrece la posibilidad de trabajar a los programadores expertos con la propia API de ESPERANT para acceder desde aplicaciones propietarias de Windows al motor del Query System, al funcional asistente, e incluso a una API específica para el administrador. Para conseguir este propósito se necesitan una serie de librerías que se proveen con el producto. Se acompañan de algún que otro ejemplo. En los manuales se documentan perfectamente las funciones así como los códigos de errores.

Un Esperanto en inglés

El Query System o generador de consultas, es el módulo principal de ESPERANT orientado al usuario final. Al abrirse presenta, tres ventanas. Una rejilla para los resultados de la búsqueda, otra ventana para visualizar las sentencias SQL y, por último, una para ver las consultas en lenguaje ESPERANT.

El programa ESPERANT, como la mayoría de herramientas del mismo tipo, se fundamenta en el lenguaje SQL, pero intenta abstraer las complejidades de éste al usuario. Algunos productos optan por una interfaz visual, ESPERANT por contra, intenta ofrecer una interfaz basada en lenguaje natural, es decir, el lenguaje corriente que utilizamos habitualmente para comunicarnos. Ahí reside la originalidad del producto. Pero este lenguaje natural no es multilingüe, por el momento sólo se dispone de la versión en inglés. Se trata de un subconjunto del ingles en el que se recogen la mayoría de las articulaciones del contexto empresarial. Siendo una herramienta para usuarios finales, es imprescindible su traducción al castellano, en este sentido Software AG ha comunicado que esta versión está en fase de desarrollo.

El lenguaje ESPERANT permite utilizar frases como "SHOW CourseTitle AND THE TOTAL Hours", es decir, "enséñame el título del curso y el total de horas", que en SQL se escribiría: "SELECT CourseTitle, SUM (Hours) FROM COURSE GROUP BY CourseTitle". Sin embargo, el núcleo del lenguaje ESPERANT no es un auténtico procesador de lenguaje natural, como podría pensarse, sino un eficiente traductor de inglés básico a SQL. El sistema de consultas ESPERANT permite tanto escribir frases en su lenguaje inglés propietario, que lleva el mismo nombre de ESPERANT, o utilizar un asistente de consultas. El asistente mediante la interacción de cuadros de diálogo, acaba escribiendo una frase con sentido en lenguaje ESPERANT, completamente equivalente a una sentencia SQL. Por supuesto, siempre existe la opción de escribir sentencias SQL directamente o ver a cual corresponde una frase en ESPERANT.

Existen cuatro tipos de consultas, todas de selección: Show... para buscar información por categorías (campos); What percent of ...have... para calcular procentajes; Compare... against, para realizar comparaciones de dos valores numéricos y calcular la diferencia; Show ... as a percentage of ..., para realizar comparaciones de dos valores numéricos y especificarlo en tanto por ciento. ESPERANT soporta hasta tres niveles de subconsultas anidadas, por lo que pueden construir sentencias realmente largas y complejas. Es interesante resaltar que ESPERANT resuelve dinámicamente las relaciones entre tablas pidiendo al usuario que las especifique si antes no se ha hecho en el diccionario. Los resultados de la consulta se entregan en paquetes de cien con bastante rapidez. Al pulsar la tecla F5 se entregan los siguientes cien. Cabe resaltar que una consulta SQL se ejecuta siempre más rápida que una en ESPERANT que debe ser traducida previamente. Los resultados se pueden guardar en diversos formatos: ASCII, Lotus 1-2-3, Word, Excel, y como tabla en cualquiera de los formatos soportados por ESPERANT.

Un inglés, algo artificial

Las interioridades del lenguaje ESPERANT merecen una atención más detallada. A pesar de estar basado en el lenguaje natural (el inglés), su reducción, la sinonimia y las restricciones lo convierten en un lenguaje artificial, es decir, arbitrario. El término arbitrario nada tiene que ver con la falta de criterio, sino que significa desde el punto de vista lingüístico, que se ha evitado la ambigüedad inherente al lenguaje natural mediante unas convenciones regladas. Estas reglas se han establecido tanto a nivel sintáctico como semántico.

A nivel morfológico (¿qué f