Inicio / Blog / Gestión de datos / Ejemplo de bases de datos para probar la conversión de texto a SQL

Ejemplo de bases de datos para probar la conversión de texto a SQL

Resumir con ChatGPT

Text to SQL, es decir, la generación de consultas SQL precisas a partir de preguntas en lenguaje natural, es una interesante interfaz entre el lenguaje natural y el tratamiento de datos estructurados.

Para que este tipo de IA funcione, necesita un contexto realista: tablas, columnas, relaciones y contenido.

Aquí es exactamente donde entran en juego las bases de datos de muestras.

En este artículo, presento algunos ejemplos de bases de datos SQL de código abierto que puedes utilizar inmediatamente para llevar a cabo tus propios experimentos o para probar un modelo de texto a SQL.

Aviano DB - Sistema de alquiler de coches

Caso práctico:
Esta base de datos representa un sistema completo de alquiler de vehículos, incluidos clientes, vehículos, ubicaciones, seguros, facturas y opciones adicionales. Es ideal para entrenar uniones SQL complejas, totales, agrupaciones y funciones de fecha.

Base de datos:
La base de datos Aviano contiene tablas realistas como customer, vehicle_type, rental, fuel_option, insurance, equipment_type y muchos más. En el repositorio se incluye un ERD.

Ejemplo de mensaje de texto:

"Muéstrame todos los clientes con su nombre, categoría de vehículo, lugar de recogida y fecha de recogida".

SELECT
    CONCAT_WS(',', c.first_name, c.last_name) AS 'Customer Name',
    vt.name AS 'Car Type',
    CONCAT_WS(',', l1.city, l1.state) AS 'Pickup Location',
    r.start_date as 'Pickup Date'
FROM
    rental AS r
        JOIN customer AS c ON r.customer_id = c.id
        JOIN vehicle_type AS vt ON r.vehicle_type_id = vt.id
        JOIN location AS l1 ON r.pickup_location_id = l1.id;

📎 Al repositorio de GitHub

Chinook DB - Medios de comunicación clásicos

Caso práctico:
Chinook es perfecto para los análisis relacionados con la música y los medios de comunicación. Contiene artistas, álbumes, pistas, géneros, clientes y ventas. Ideal para principiantes y casos de uso de inteligencia empresarial.

Base de datos:
Tablas típicas: Customer, Invoice, InvoiceLine, Track, Album, Artist.

Ejemplo de mensaje de texto:

"¿Qué cinco artistas han generado más ventas?"

SELECT
    a.Name AS Artist,
    SUM(il.Quantity) AS TotalSales
FROM
    InvoiceLine il
        JOIN Track t ON il.TrackId = t.TrackId
        JOIN Album al ON t.AlbumId = al.AlbumId
        JOIN Artist a ON al.ArtistId = a.ArtistId
GROUP BY a.Name
ORDER BY TotalSales DESC
LIMIT 5;

📎 Al repositorio de GitHub

Northwind Traders - clásico para el comercio B2B

Caso práctico:
Northwind simula la organización de ventas de una empresa mayorista con productos, pedidos, proveedores y empleados. La base de datos es rica en relaciones y resulta especialmente adecuada para ejercicios de JOIN y análisis de lógica empresarial.

Base de datos:
Mesas centrales: Orders, OrderDetails, Products, Customers, Suppliers, Employees, Shippers.

Ejemplo de mensaje de texto:

"¿Qué empleados tramitaron pedidos en mayo de 1997 y cuál fue la facturación total?"

SELECT
    e.FirstName || ' ' || e.LastName AS Employee,
    SUM(od.UnitPrice * od.Quantity) AS TotalSales
FROM
    Employees e
        JOIN Orders o ON e.EmployeeID = o.EmployeeID
        JOIN OrderDetails od ON o.OrderID = od.OrderID
WHERE
    o.OrderDate BETWEEN '1997-05-01' AND '1997-05-31'
GROUP BY Employee;

📎 Al repositorio de GitHub

Base de datos de pizzas

Caso práctico:
Base de datos minimalista para pedidos de pizza. Ideal para demostraciones, pruebas de rendimiento o configuración de un chatbot inicial para restaurantes.

Base de datos:
Mesas como pizzas, orders, customers, toppings, order_details.

Ejemplo de mensaje de texto:

"¿Qué pizzas se pidieron con más frecuencia el mes pasado?"

SELECT
    p.name,
    COUNT(od.pizza_id) AS TimesOrdered
FROM
    order_details od
        JOIN pizzas p ON od.pizza_id = p.id
        JOIN orders o ON od.order_id = o.id
WHERE
    o.order_date >= DATE('now', '-1 month')
GROUP BY p.name
ORDER BY TimesOrdered DESC;

📎 Ir a GitHub-Repo

Base de datos de empleados

profolsen/empleados

Propósito:
Suministro de una versión modificada de la base de datos de demostración PostgreSQL "empleados".

Contenido:

  • Archivos SQL y Java para importación y acceso.
  • La estructura y los datos corresponden en parte a la conocida base de datos MySQL "empleados".
  • Concéntrese en la correcta concesión de licencias y atribución de las fuentes originales.

Características especiales:

Análisis de datos de un aeropuerto

fortunewalla/aeropuertodb

Proyecto de aprendizaje de SQL, MySQL y análisis de datos basado en un conjunto de datos aeroportuarios.

Contenido:

  • Volcados SQL (esquema y datos) de un registro de datos aeroportuarios modificado ("ffdb").
  • Instrucciones de instalación con mysql y mysqlsh.
  • Preparación para Analytics & HeatWave-ML de Oracle.

Características especiales:

  • Datos procedentes de la flughafenendb.cctraducido al inglés.
  • Contiene archivos SQL de gran tamaño (más de 90 MB).
  • Integración con HeatWave/ML documentada.
  • Licencia no indicada explícitamente, pero referencias a fuentes originales disponibles.

Análisis de los nombres de bebés en EE.UU. a escala nacional y estatal

ktaranov/BabbyNames

Visualización y análisis de los nombres de bebés en EE.UU. a escala nacional y estatal.

Características especiales:

Simulación de una tienda web con 1000 clientes, 2000 pedidos y 1000 productos

Suministro de un conjunto de datos PostgreSQL para simular una tienda web.

JannikArndt/PostgreSQLBaseDeDatosDeMuestra

Contenido:

  • Esquema con:
    • 1000 clientes
    • 2000 pedidos
    • 1000 productos con un total de 17.730 artículos
  • src/ contiene scripts para la generación de BD.
  • data/ contiene volcado para recuperación mediante restore.sh.

Conclusión

Existen algunas bases de datos SQL de código abierto que pueden utilizarse para experimentar y probar modelos de conversión de texto a SQL.
Si hay otras bases de datos SQL de libre acceso que le gustaría que incluyéramos en esta lista, háganoslo saber en sus comentarios.

¿Le ha resultado útil esta página?

Gracias por sus comentarios.

¿Podría darme su opinión? (anónimo)

Desarrollamos software de inteligencia artificial para empresas y evitamos deliberadamente los molestos banners publicitarios. A través de nuestros artículos, documentamos temas que nos ocupan e interesan y también financian nuestro pan de cada día.

Como nuestro contenido es gratuito, sus comentarios son nuestro elogio.

Cada autor lee personalmente tus comentarios anónimos, aunque la IA podría automatizarlos, e integra las sugerencias constructivas directamente en la siguiente revisión o las utiliza como inspiración para el siguiente artículo.



    </artículo
    • Nico Engelmann
      (Autor)

      Como ingeniero experimentado en IA, creo soluciones utilizando inteligencia artificial y algoritmos clásicos.

    es_ESES