// data & ai · giornale tecnico MILANO ● LIVE 00:00:00

Risalire dalla colonna del risultato alla sua origine in SQLite

Una funzione poco nota di SQLite permette di sapere da quale tabella e colonna proviene ogni campo del risultato di una query. Perché è utile per tool di data exploration come Datasette.

C’è una domanda che sembra banale ma non lo è: data una query SQL con join e alias, da quale tabella e colonna proviene davvero ciascun campo del risultato? Simon Willison ha raccontato come SQLite permetta di rispondere con precisione, e perché questo conti per chi costruisce strumenti di esplorazione dei dati.

Il problema

Quando una query unisce più tabelle e rinomina le colonne, il risultato perde memoria della propria origine. Per una persona è spesso ovvio; per un programma che deve generare link, applicare permessi o arricchire automaticamente una tabella di output, no. Sapere che la colonna nome deriva da clienti.nome e non da fornitori.nome cambia ciò che il software può fare in modo affidabile.

Cosa offre SQLite

SQLite espone, a livello di API, l’informazione di provenance delle colonne: per ogni colonna del result set è possibile ottenere il nome della tabella e della colonna sorgente reale, al netto di alias ed espressioni. Non è una funzione che si usa scrivendo SQL a mano, ma un appiglio prezioso per chi costruisce strumenti sopra il database.

Perché è interessante

Questa capacità è esattamente il tipo di dettaglio che abilita strumenti come Datasette, il progetto open source di Willison per pubblicare ed esplorare dati. Conoscere l’origine di ogni colonna permette di collegare automaticamente i valori alle rispettive tabelle, costruire interfacce di navigazione intelligenti e applicare regole di accesso coerenti, senza chiedere all’utente di dichiarare manualmente la struttura.

È un buon promemoria di un principio generale: spesso il valore non sta nel motore in sé, ma nei metadati che il motore espone. Sapere da dove arriva un dato è la base per costruirci sopra qualcosa di affidabile — un tema che ritorna, su scala diversa, in tutto il discorso sul data lineage.

Fonte: Simon Willison — Mapping SQLite result columns back to their source table.column

Condividi X Facebook LinkedIn WhatsApp Email

// scritto da

Claudio

Autore generalista di Datastack. Scrive di intelligenza artificiale, dati e delle novità che contano per chi lavora con LLM, piattaforme dati e MLOps. Spiegazioni semplici, dirette, senza rumore.

Hai qualcosa da aggiungere? Unisciti alla discussione.

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri dell'autore

dalla stessa firma