Tutorial: uso de la capacidad del SQL generativo de Amazon Q con los datos de TICKIT
Para crear preguntas eficaces para generar SQL, debe conocer el esquema de su base de datos y sus datos. Los datos TICKIT constan de siete tablas: dos de hechos y cinco de dimensiones. Los datos de ejemplo contienen registros sobre las ventas a los asistentes a eventos de entretenimiento que tuvieron lugar en 2008. Para obtener más información sobre el esquema de datos TICKIT, consulte Bases de datos de muestra en la Guía para desarrolladores de bases de datos de Amazon Redshift. Puede cargar los datos TICKIT en una base de datos mediante varios métodos tanto en la consola de Amazon Redshift como en el editor de consultas v2. El editor de consultas v2 proporciona un método para cargar los datos TICKIT en la base de datos sample_data_dev
. Para obtener más información, consulta Descarga de datos en una base de datos. El editor de consultas v2 también proporciona preguntas de ejemplo para los datos TICKIT. El siguiente escenario describe una conversación con SQL generativo para generar SQL sobre los datos TICKIT de ejemplo. En este escenario, los datos TICKIT de ejemplo ya están creados en una base de datos dev
de un clúster de Amazon Redshift.
nota
Este ejemplo sirve para ilustrar una conversación. Es posible que las respuestas del SQL generativo no coincidan con los resultados si se utilizan las mismas preguntas.
Ejemplo de conversación con el SQL generativo de Amazon Q
En el Editor, conéctese a un clúster o grupo de trabajo que contenga los datos TICKIT de ejemplo.
Cree un cuaderno vacío y elija el icono de SQL generativo
para abrir el panel de chat.
-
Introduzca la siguiente pregunta para generar SQL y comprobar el número de registros de la tabla
VENUE
:How many venues are there?
SELECT COUNT(*) AS num_venues FROM tickit.venue
Seleccione Añadir al cuaderno para añadir dos celdas al cuaderno abierto. Una celda de marcado ¿Cuántos eventos hay? y otra que contenga el SQL generado.
En la celda SQL, elija Ejecutar para recibir el resultado:
count ------ 202
-
Para solicitar otra versión del SQL, elija Regenerar SQL y recibirá la siguiente respuesta:
SELECT venuestate, COUNT(*) AS num_venues FROM tickit.venue GROUP BY venuestate
Seleccione Añadir al cuaderno para añadir más celdas al cuaderno abierto. Una celda de marcado ¿Cuántos eventos hay? y otra que contenga el SQL generado.
En la celda SQL, elija Ejecutar para recibir el resultado en forma de lista de número de evento por estado:
venuestate num_venues ---------------------- MA 4 OH 8 MI 5 ...
-
El asistente del SQL generativo puede hacer suposiciones sobre lo que está preguntando. Aunque no haya widgets en la base de datos, puede seguir preguntando. En este caso, muestra un mensaje que indica que no ha podido generar el SQL.
How many widgets are there?
I was not able to generate any SQL
-
A medida que obtenga más información sobre la base de datos, podrá hacer preguntas más específicas para generar el SQL. Por ejemplo, sabe que la base de datos contiene datos de ventas de varios meses de 2008. Introduzca la siguiente pregunta para generar SQL y saber el número de ventas en noviembre de 2008:
How many sales were there in November 2008?
SELECT COUNT(*) AS num_sales FROM tickit.sales s JOIN tickit.date d ON s.dateid = d.dateid WHERE d.month = 'November' AND d.year = 2008
Seleccione Añadir al cuaderno para añadir dos celdas al cuaderno abierto. Una celda de marcado ¿Cuántas ventas hubo en noviembre de 2008? y otra que contenga el SQL generado.
En la celda SQL, elija Ejecutar para recibir el resultado:
num_sales ----- 0
Se da cuenta de que este no es el resultado que esperaba.
-
Observa que el predicado
date.month='November'
espera que el mes de la tabla DATE se represente con una abreviatura del nombre del mes. Cambia el predicado pord.month='NOV'
y vuelve a ejecutar el SQL.SELECT COUNT(*) FROM sales JOIN date ON sales.dateid = date.dateid WHERE date.month = 'NOV' AND date.year = 2008
En la celda SQL, elija Ejecutar para obtener nuevos resultados.
count ----- 14261
-
Si hace una pregunta que intenta cambiar la base de datos conectada, aparecerá un mensaje de advertencia junto con cualquier SQL recomendado. Introduzca la siguiente pregunta para generar SQL e insertar datos en una tabla:
Insert 1 into the venue table.
INSERT , UPDATE OR delete data FROM the database AS that could potentially change the data.Please provide a query that ONLY selects data
I was not able to generate the correct SQL code. I generated SQL, but you'll have to edit it to work with your database.
Si selecciona Añadir al cuaderno para añadir dos celdas al cuaderno abierto y ejecutar el SQL, el SQL fallará.
ERROR: syntax error at or near "," Position: 132 [ErrorId: 1-6546764a-011df2691778846219ce6ec2]
Este escenario solo ilustra algunas formas básicas de interactuar con el SQL generativo de Amazon Q. Puede experimentar aún más con esta tecnología de IA generativa que le ayudará a empezar a crear SQL para realizar consultas a su base de datos.