Consultas de SQL con GitHub Copilot y ChatGPT

Clase 8 de 13Curso de GitHub Copilot

Resumen

¿Cómo optimizar consultas SQL con inteligencia artificial?

En el mundo de la ingeniería y análisis de datos, realizar consultas SQL es una tarea habitual. Sin embargo, hoy en día existen potentes herramientas de inteligencia artificial que facilitan y optimizan la generación de estas consultas, como GitHub Copilot y ChatGPT. Estas herramientas son capaces de entender el contexto de una base de datos para generar el código necesario. En esta sesión, exploraremos cómo utilizar estos recursos para escribir consultas SQL eficientemente, incluso cuando no se tiene claro cómo proceder.

¿Qué herramientas necesitamos?

Para comenzar, es útil tener instalado Visual Studio Code como entorno de desarrollo integrado (IDE) debido a su facilidad de uso y los muchos plugins disponibles que simplifican el trabajo diario. Además, necesitaremos los siguientes elementos:

  • Base de datos de ejemplo: Una estructura de ventas con tablas como OrderDetails, Orders, ProductDetails.
  • Plugin de PostgreSQL: Para probar las consultas en el entorno adecuado.
  • Copilot Plugin: Una herramienta para asistencia en el desarrollo de código, la cual se puede encontrar en los recursos de esta clase.

¿Cómo generar consultas con contexto?

El uso adecuado de las herramientas de inteligencia artificial radica en proporcionar un contexto claro. Esto significa definir previamente la estructura del modelo de datos para que los LLM (Large Language Models) puedan trabajar de manera eficaz. Por ejemplo, cuando especificamos "los cinco productos más vendidos por región", es esencial que indiquemos qué tablas y columnas son relevantes.

Ejemplo de consulta con Copilot

Para crear una consulta, podemos darle a Copilot un mensaje como:

-- Crea una consulta para obtener los cinco productos más vendidos por región
SELECT ...
FROM region R
JOIN ...
ORDER BY ...

Podremos generarla realizando ajustes si los resultados iniciales no son los esperados, tal como corregir ambigüedades en las columnas. Además, es recomendable usar funcionalidades avanzadas como ROW_NUMBER y PARTITION BY para obtener agrupaciones específicas.

¿Cómo utilizar ChatGPT para crear consultas SQL?

A diferencia de Copilot, ChatGPT puede ofrecer soluciones detalladas a través de conversación. Aquí, el enfoque es más textual; debes indicar claramente tus necesidades para recuperar la consulta adecuada.

Ejemplo usando ChatGPT

Al preguntar:

Crea una consulta que muestre el ID del empleado, ID de la orden, nombre del producto, fecha requerida, y fecha de envío para pedidos enviados más tarde que la fecha requerida.

ChatGPT te proveerá una consulta:

SELECT ...
FROM ...
JOIN ...
WHERE fecha_envío > fecha_requerida;

Después, verifica y ejecuta en tu entorno de desarrollo para asegurar que satisface tus criterios.

Consideraciones finales

Aunque las herramientas de inteligencia artificial proporcionan una asistencia invaluable en la generación de código, es importante recordar que su función no es reemplazar al desarrollador, sino complementar su trabajo. En situaciones donde las respuestas no son perfectas, es nuestra responsabilidad revisar y ajustar las consultas generadas.

Las herramientas como Copilot o ChatGPT facilitan mucho el trabajo, pero requieren de un buen contexto y, a veces, iteración para alcanzar la solución exacta que buscamos. Además, es fundamental seguir aprendiendo y mejorando nuestras habilidades en SQL, pues el entendimiento humano siempre será esencial para interpretar y ejecutar las mejores prácticas. A través de esto, puedes esperar alcanzar resultados sorprendentes y optimizar tu flujo de trabajo, dando siempre un paso adelante en tu carrera profesional en el manejo de datos.