El presente Trabajo Fin de Grado tiene como objetivo diseñar e implementar un sistema capaz de transformar consultas en lenguaje natural (Natural Language Query (NLQ)) en sentencias Structured Query Language (SQL) válidas y ejecutables sobre una base de datos PostgreSQL. El propósito fundamental es reducir la barrera técnica entre los datos contenidos en una Base de Datos (BD) y el usuario no técnico que, pese a tener posesión de esos datos, no puede acceder a ellos dada su falta de conocimiento de lenguaje SQL. Esto democratiza el acceso a los datos y facilita la explotación de la información en entornos reales. El proyecto se enmarca en un contexto tecnológico caracterizado por la irrupción de modelos de lenguaje de gran escala (Large Language Models (LLMs)), que han demostrado una notable capacidad para traducir instrucciones expresadas en lenguaje natural a lenguajes formales. No obstante, su aplicación práctica presenta condicionantes importantes: la ambigüedad de las consultas, el riesgo de generar sentencias no válidas o destructivas, y la necesidad de garantizar tiempos de respuesta aceptables en un entorno interactivo. Estos retos se han afrontado mediante una arquitectura modular que integra una interfaz web tipo chatbot para la interacción con el usuario, un orquestador que coordina los distintos módulos, un primer módulo basado en LLM encargado de extraer la intención semántica de la consulta en lenguaje natural, un segundo módulo basado en LLM que genera la sentencia SQL candidata, un validador basado en PostgreSQL que verifica la sintaxis y bloquea instrucciones no permitidas, garantizando que solo se ejecuten consultas de tipo SELECT, y finalmente un ejecutor que obtiene los datos de la BD para presentarlos al usuario. El caso de estudio seleccionado corresponde al ámbito agrícola y ganadero, utilizando datos de collares inteligentes aplicados al ganado, que registran parámetros como posición, temperatura y anomalías [1]. Este dominio resulta especialmente representativo, ya que los ganaderos y trabajadores del sector rara vez poseen conocimientos técnicos de SQL o tecnologías de bases de datos, lo que amplifica la barrera de acceso a la información. Por ello, el sistema debe ser lo más simple e intuitivo posible, capaz de responder eficazmente incluso ante consultas formuladas con baja capacidad semántica, garantizando así su aplicabilidad en un contexto amplio y realista. La metodología de pruebas se diseñó siguiendo estándares internacionales de verificación y validación (IEEE 1012-2016 [2] e ISO/IEC/IEEE 29119 [3] [4]), abarcando tanto pruebas funcionales como no funcionales. Asimismo, el diseño del sistema se ha guiado por principios de ingeniería de software, modularidad y reproducibilidad, asegurando que el entorno pueda desplegarse con una configuración mínima. Se ha adoptado un enfoque de seguridad por defecto, limitando la ejecución a consultas de lectura, lo que aporta un valor diferencial frente a otras aproximaciones del estado del arte que no siempre incorporan estos mecanismos de control. En el plano económico, se ha realizado un análisis de costes que incluye amortización de equipamiento, uso de la Application Programming Interface (API) de OpenAI y mano de obra, resultando en un presupuesto total estimado de 14.890,80 €. El coste operativo generado por las consultas durante todo el proceso de pruebas fue inferior a 0,05 €, lo que confirma la viabilidad económica de la solución. Desde una perspectiva social y ética, el sistema contribuye a la reducción de la brecha digital al permitir que usuarios sin formación técnica accedan a bases de datos, garantizando además la privacidad de la información al no incluir datos personales en los prompts. En cuanto al impacto ambiental, se ha verificado que el consumo energético es reducido gracias al carácter ligero del sistema y a la optimización de las peticiones a los modelos de lenguaje. Los resultados experimentales, obtenidos a partir de más de 300 ejecuciones de consultas, muestran que el sistema alcanza un 100 % de aciertos en consultas de nivel profesional, un 87 % en formulaciones estándar y un 63 % en consultas de baja capacidad, con tiempos de respuesta dentro de los márgenes definidos. Las consultas erróneas o maliciosas fueron correctamente manejadas por el sistema, reforzando la robustez y seguridad de la solución. La validación cualitativa con el tutor, actuando como usuario experto, confirmó además la usabilidad de la interfaz y la utilidad práctica del sistema. Más allá de los resultados inmediatos, el sistema constituye una base sólida para futuras líneas de investigación y transferencia. Entre ellas se incluyen su despliegue en entornos cloud, la extensión a consultas multibase de datos, la integración con distintos proveedores de LLM o la evaluación con usuarios finales a mayor escala. Además, el proyecto posee un valor formativo y de transferencia académica, al reunir de forma aplicada tecnologías de actualidad —procesamiento de lenguaje natural, validación en bases de datos y arquitecturas modulares— que pueden servir como modelo en contextos docentes o de investigación. En conclusión, el sistema desarrollado cumple los requisitos funcionales y no funcionales establecidos, y demuestra ser una herramienta eficaz, segura y económicamente viable para permitir el acceso a bases de datos mediante consultas en lenguaje natural. Su arquitectura modular lo hace fácilmente adaptable a otros dominios —como sanidad, logística, educación o comercio electrónico— mediante la simple adaptación del esquema de base de datos y del prompt. Además, el trabajo se alinea con los Objetivos de Desarrollo Sostenible 9 (Industria, Innovación e Infraestructura), 11 (Ciudades y Comunidades Sostenibles) y 13 (Acción por el Clima), reforzando su valor social y su relevancia global.
El presente Trabajo Fin de Grado tiene como objetivo diseñar e implementar un sistema capaz de transformar consultas en lenguaje natural (Natural Language Query (NLQ)) en sentencias Structured Query Language (SQL) válidas y ejecutables sobre una base de datos PostgreSQL. El propósito fundamental es reducir la barrera técnica entre los datos contenidos en una Base de Datos (BD) y el usuario no técnico que, pese a tener posesión de esos datos, no puede acceder a ellos dada su falta de conocimiento de lenguaje SQL. Esto democratiza el acceso a los datos y facilita la explotación de la información en entornos reales. El proyecto se enmarca en un contexto tecnológico caracterizado por la irrupción de modelos de lenguaje de gran escala (Large Language Models (LLMs)), que han demostrado una notable capacidad para traducir instrucciones expresadas en lenguaje natural a lenguajes formales. No obstante, su aplicación práctica presenta condicionantes importantes: la ambigüedad de las consultas, el riesgo de generar sentencias no válidas o destructivas, y la necesidad de garantizar tiempos de respuesta aceptables en un entorno interactivo. Estos retos se han afrontado mediante una arquitectura modular que integra una interfaz web tipo chatbot para la interacción con el usuario, un orquestador que coordina los distintos módulos, un primer módulo basado en LLM encargado de extraer la intención semántica de la consulta en lenguaje natural, un segundo módulo basado en LLM que genera la sentencia SQL candidata, un validador basado en PostgreSQL que verifica la sintaxis y bloquea instrucciones no permitidas, garantizando que solo se ejecuten consultas de tipo SELECT, y finalmente un ejecutor que obtiene los datos de la BD para presentarlos al usuario. El caso de estudio seleccionado corresponde al ámbito agrícola y ganadero, utilizando datos de collares inteligentes aplicados al ganado, que registran parámetros como posición, temperatura y anomalías [1]. Este dominio resulta especialmente representativo, ya que los ganaderos y trabajadores del sector rara vez poseen conocimientos técnicos de SQL o tecnologías de bases de datos, lo que amplifica la barrera de acceso a la información. Por ello, el sistema debe ser lo más simple e intuitivo posible, capaz de responder eficazmente incluso ante consultas formuladas con baja capacidad semántica, garantizando así su aplicabilidad en un contexto amplio y realista. La metodología de pruebas se diseñó siguiendo estándares internacionales de verificación y validación (IEEE 1012-2016 [2] e ISO/IEC/IEEE 29119 [3] [4]), abarcando tanto pruebas funcionales como no funcionales. Asimismo, el diseño del sistema se ha guiado por principios de ingeniería de software, modularidad y reproducibilidad, asegurando que el entorno pueda desplegarse con una configuración mínima. Se ha adoptado un enfoque de seguridad por defecto, limitando la ejecución a consultas de lectura, lo que aporta un valor diferencial frente a otras aproximaciones del estado del arte que no siempre incorporan estos mecanismos de control. En el plano económico, se ha realizado un análisis de costes que incluye amortización de equipamiento, uso de la Application Programming Interface (API) de OpenAI y mano de obra, resultando en un presupuesto total estimado de 14.890,80 €. El coste operativo generado por las consultas durante todo el proceso de pruebas fue inferior a 0,05 €, lo que confirma la viabilidad económica de la solución. Desde una perspectiva social y ética, el sistema contribuye a la reducción de la brecha digital al permitir que usuarios sin formación técnica accedan a bases de datos, garantizando además la privacidad de la información al no incluir datos personales en los prompts. En cuanto al impacto ambiental, se ha verificado que el consumo energético es reducido gracias al carácter ligero del sistema y a la optimización de las peticiones a los modelos de lenguaje. Los resultados experimentales, obtenidos a partir de más de 300 ejecuciones de consultas, muestran que el sistema alcanza un 100 % de aciertos en consultas de nivel profesional, un 87 % en formulaciones estándar y un 63 % en consultas de baja capacidad, con tiempos de respuesta dentro de los márgenes definidos. Las consultas erróneas o maliciosas fueron correctamente manejadas por el sistema, reforzando la robustez y seguridad de la solución. La validación cualitativa con el tutor, actuando como usuario experto, confirmó además la usabilidad de la interfaz y la utilidad práctica del sistema. Más allá de los resultados inmediatos, el sistema constituye una base sólida para futuras líneas de investigación y transferencia. Entre ellas se incluyen su despliegue en entornos cloud, la extensión a consultas multibase de datos, la integración con distintos proveedores de LLM o la evaluación con usuarios finales a mayor escala. Además, el proyecto posee un valor formativo y de transferencia académica, al reunir de forma aplicada tecnologías de actualidad —procesamiento de lenguaje natural, validación en bases de datos y arquitecturas modulares— que pueden servir como modelo en contextos docentes o de investigación. En conclusión, el sistema desarrollado cumple los requisitos funcionales y no funcionales establecidos, y demuestra ser una herramienta eficaz, segura y económicamente viable para permitir el acceso a bases de datos mediante consultas en lenguaje natural. Su arquitectura modular lo hace fácilmente adaptable a otros dominios —como sanidad, logística, educación o comercio electrónico— mediante la simple adaptación del esquema de base de datos y del prompt. Además, el trabajo se alinea con los Objetivos de Desarrollo Sostenible 9 (Industria, Innovación e Infraestructura), 11 (Ciudades y Comunidades Sostenibles) y 13 (Acción por el Clima), reforzando su valor social y su relevancia global. Read More


