1. ChatGPT: un tutor SQL per tutti
ChatGPT è una piattaforma di intelligenza artificiale che può aiutare chiunque a utilizzare il linguaggio SQL, anche chi non ha competenze tecniche. Può generare query SQL complesse, fornire assistenza per scrivere o modificare query e aiutare a comprendere i concetti SQL.
2. Come usare ChatGPT per le query SQL
Per utilizzare al meglio ChatGPT per le query SQL, è importante fornire un prompt chiaro e conciso che descriva lo scenario e l’obiettivo della query. ChatGPT può quindi generare una query SQL personalizzata o fornire assistenza per scrivere o modificare una query esistente.
3. ChatGPT per basi dati proprietarie e sconosciute
Anche se ChatGPT non è addestrato su una specifica base dati proprietaria, può comunque fornire assistenza per le query SQL. In questi casi, ChatGPT genererà una query basata su uno schema simile e fornirà indicazioni su come adattarla alla base dati specifica.
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.