Technology How To

Come usare ChatGPT per realizzare query SQL



Indirizzo copiato

Grazie a ChatGPT è possibile abbattere le barriere create dai tecnicismi legati alla programmazione SQL e realizzare interrogazioni dati per il proprio business, anche senza possedere le competenze tecniche di uno sviluppatore software

Pubblicato il 7 ago 2023



shutterstock_2314911199 (1)
Immagine di Alexander Supertramp su Shutterstock

Nei contesti di produttività quotidiana, spesso gli strumenti di elaborazione dati messi a disposizione dai software di office automation non sono sufficienti. Si possono presentare situazioni in cui è necessario avere sottomano un insieme di dati strutturati secondo specifiche esigenze, e di non riuscire a ottenere l’informazione desiderata semplicemente avvalendosi dell’interfaccia di Excel o del proprio gestionale ERP.

In questi casi, si è costretti spesso a ricorrere all’utilizzo di una query SQL per ottenere l’informazione desiderata. Spesso, però, sviluppare una vista SQL richiede competenze di coding di una certa complessità tecnica. Fino a ieri, si era perciò costretti in questi casi a chiedere il supporto dell’IT interno o di un consulente esterno, con i disagi di costi e tempistiche collegate all’intervento.

Oggi, grazie all’intelligenza artificiale, diventa invece possibile abbattere questa barriera legata ai tecnicismi del linguaggio SQL e manipolare in autonomia i dati del nostro business. Una piattaforma di intelligenza artificiale (AI) predisposta in maniera user friendly a fare da tutor a chi vuole avvalersi delle potenzialità di SQL è in particolare ChatGPT.

Delega completa o semplice assistenza

ChatGPT è estremamente ricettiva ai prompt SQL oriented ed è in grado di produrre in autonomia query anche complesse, o di indicare all’utente il modo migliore per impostare un passaggio ostico del codice SQL.

Per utilizzare al meglio ChatGPT come tutor SQL, è buona prassi strutturare la nostra richiesta in modo da mettere in grado l’AI di lavorare in maniera ottimale. Infatti, la qualità delle risposte di ChatGPT dipende in modo importante dall’attenzione che l’utente pone a come impostare la richiesta (il cosiddetto “prompt”), affinché l’AI possa capire lo scenario e contestualizzare i modelli che andrà a impiegare per strutturare un percorso di risposta.

Il primo elemento del prompt, nel caso di una richiesta SQL, dovrebbe essere una indicazione relativa allo Schema che abbiamo bisogno di interrogare. Questa indicazione può essere scritta nominando in modo esplicito il software da cui abbiamo bisogno di estrarre i dati (Es.: un gestionale ERP).
Lo Schema di un database definisce, infatti, in che modo i dati sono organizzati all’interno di un database relazionale, includendo informazioni sui vincoli logici quali i nomi tabella, i campi, i tipi di dati e le relazioni tra queste entità.

Ricevendo questa indicazione, la prima analisi di ChatGPT sarà di determinare se nei suoi modelli sia presente o meno lo Schema della base dati richiesta.

In caso affermativo, ChatGPT proverà ad eseguire l’interrogazione da noi richiesta ragionando direttamente sulle tabelle e le colonne proprietarie del software indicato. In questo caso, il risultato della query potrebbe davvero lasciare a bocca aperta, in quanto ChatGPT restituirà una vista della stessa qualità di quelle esistenti nel gestionale, scrivendo una vista SQL che utilizza direttamente le tabelle e i campi presenti nell’ERP.

Questa vista, in sostanza, è pronta per essere copiata e incollata nel gestionale (se prevede un menu da cui eseguire direttamente le interrogazioni SQL) oppure per essere eseguita in un software dedicato, come ad esempio SQL Server Management Studio.

Quando serve più impegno

Non sempre, però, ci ritroveremo in questo caso ideale. Potrebbero verificarsi dei casi in cui ChatGPT non sia stato addestrato nella base dati proprietaria di vostro interesse. La causa di questa “mancanza” di solito è proprio il fatto che, ragionando su una base dati di un software proprietario, questo schema non sia stato reso disponibile per essere impiegato nei modelli di apprendimento dell’AI. Oppure, può anche trattarsi di un software di nicchia, magari anche Open Source, ma che non sia mai stato impiegato da nessun data engineer per alimentare un modello di Machine Learning.

Non per questo motivo ChatGPT si rifiuterà di venire in vostro soccorso. Anche non conoscendo lo Schema proprietario su cui andremo a lanciare la query, ChatGPT analizzerà la nostra richiesta e produrrà un codice SQL basato su uno Schema che si avvicini con la maggiore probabilità alla vostra esigenza.

Facciamo un esempio. Ipotizziamo di aver chiesto a ChatGPT una query per estrarre i movimenti lotto dal software ERP Sage X3. Sage X3 è un ERP proprietario e il suo Schema risulta sconosciuto a ChatGPT. Il chatbot, perciò, produrrà una query relativa alla struttura più probabile che un movimento lotto potrebbe avere, determinando questa probabilità in base agli Schema derivati da altri software ERP trovati nei suoi modelli di training.
In questi casi, spesso, la query prodotta da ChatGPT è utilizzabile semplicemente andando a sostituire ai Place Holder fittizi messi dall’AI nel risultato, i veri nomi delle tabelle e dei campi del software proprietario.

Un’altra best practice importante consiste nel far capire a ChatGPT se ciò di cui abbiamo bisogno è la scrittura dell’intera query oppure solo di un aiuto su uno specifico passaggio. Sempre rimanendo sull’esempio precedente, nel primo caso il prompt sarebbe semplicemente: “ChatGPT, scrivimi la query per estrarre i movimenti lotto”.

Però, potrebbe anche verificarsi il caso in cui abbiamo già scritto la query, ma siamo in difficoltà con una particolare sintassi, ad esempio quella per numerare le righe estratte. In questo caso, possiamo scrivere a ChatGPT un prompt più specifico di questo tipo: “ChatGPT, aiutami ad aggiungere alla query SQL SELECT DATA, LOCAZIONE, LOTTO, DIREZIONE, QUANTITA’, ARTICOLO FROM LOTTI l’istruzione ROW_NUMBER”. Oppure, se non conosciamo il comando specifico SQL, “Aiutami ad aggiungere alla query un’istruzione per numerare le righe”.

ChatGPT si rileverà così un aiuto prezioso per integrare la comprensione e l’utilizzo della nostra base dati in ogni situazione, permettendo anche a chi non possiede le competenze tecniche di un developer di muoversi nel SQL con un’autonomia che prima dell’innovazione dell’AI sarebbe stata inimmaginabile.

Speciale Digital Awards e CIOsumm.it

Tutti
Update
Keynote
Round table
Video
Digital360Awards e CIOsumm.it, i momenti salienti
Approfondimenti
La sinergia tra CIO e CISO trasforma la cybersecurity in un obiettivo di business strategico
Approfondimenti 
Etica dell’innovazione tecnologica per i CIO: prima chiedersi perché. Poi definire cosa e come
Eventi
Digital360 Awards e CIOsumm.IT, ecco i progetti vincitori
Tavola rotonda
Evoluzione del CIO: da centro di costo a motore strategico del business
Tavola rotonda
Business Process Augmentation: dall’RPA alla GenAI… il dato e tratto
Approfondimenti
Sistemi digitali potenziati: l’intelligenza dei chatbot è nelle mani dei CIO
Tavola rotonda
Intelligenza collaborativa e AI: sfide e opportunità per i CIO nell’era dello Human to Machine (H2M) 
Approfondimenti
Open Source: collaborazione e innovazione nel caos apparente del software libero 
Metodologie
BANI: che cos’è e come l’AI può aiutare i CIO a gestire la felicità (e l’infelicità) dei talenti
Prospettive
AI in un mondo complesso. Tra ordine e disordine, le aziende iniziano a capire la giusta via
Approfondimenti
Intelligenza Umana vs Intelligenza Artificiale insieme. Non invece
Eventi
Digital360 Awards e CIOsumm.IT, al via l’evento conclusivo
Video
Digital360Awards e CIOsumm.it, i momenti salienti
Approfondimenti
La sinergia tra CIO e CISO trasforma la cybersecurity in un obiettivo di business strategico
Approfondimenti 
Etica dell’innovazione tecnologica per i CIO: prima chiedersi perché. Poi definire cosa e come
Eventi
Digital360 Awards e CIOsumm.IT, ecco i progetti vincitori
Tavola rotonda
Evoluzione del CIO: da centro di costo a motore strategico del business
Tavola rotonda
Business Process Augmentation: dall’RPA alla GenAI… il dato e tratto
Approfondimenti
Sistemi digitali potenziati: l’intelligenza dei chatbot è nelle mani dei CIO
Tavola rotonda
Intelligenza collaborativa e AI: sfide e opportunità per i CIO nell’era dello Human to Machine (H2M) 
Approfondimenti
Open Source: collaborazione e innovazione nel caos apparente del software libero 
Metodologie
BANI: che cos’è e come l’AI può aiutare i CIO a gestire la felicità (e l’infelicità) dei talenti
Prospettive
AI in un mondo complesso. Tra ordine e disordine, le aziende iniziano a capire la giusta via
Approfondimenti
Intelligenza Umana vs Intelligenza Artificiale insieme. Non invece
Eventi
Digital360 Awards e CIOsumm.IT, al via l’evento conclusivo

Articoli correlati

Articolo 1 di 4