L’SQL è una competenza chiave in praticamente tutti i settori dell’informatica: da figure specifiche come il database developer, a quelle strettamente legate al mondo dei dati (data engineer, data scientist, ecc…) ad altre legate alla programmazione web o alla gestione di applicativi finanziari e gestionali. La domanda “sai scrivere una query?” è ormai un must-have nella maggior parte dei colloqui tecnici di lavoro. Dopo il corso potrai rispondere con un sì convinto, imparando a programmare in SQL e a scrivere query in modo corretto e fluente.
Il mio obiettivo sarà quello di insegnarti a interrogare, aggiornare e gestire correttamente e con dimestichezza un database relazionale. Partiremo dalle basi, spiegando che cos’è un database relazionale, cosa lo caratterizza e perché è diverso da altri strumenti di analisi dei dati come Microsoft Excel. Ma le spiegazioni teoriche dureranno davvero poco. Inizieremo infatti sin da subito a programmare insieme, sperimentare, fare esercitazioni “real world” su problematiche all’ordine del giorno per ogni professionista che si interfaccia con i database, partendo dalle query più semplici fino ad arrivare a situazioni complesse. Simuleremo di ricevere mail urgenti dal capo (non sempre chiarissime) che ci permetteranno di mettere in pratica quanto imparato. Vi racconterò tutti gli errori che ho fatto durante i miei primi anni di sviluppatore SQL, in modo da mettervi in guardia sui tranelli in cui è facile cadere quando si ha poca esperienza.
Durante il corso potremmo utilizzare i principali RDBMS (Relational Database Management System) tra cui Oracle, Sql Server, MySql e Access evidenziando sia le strutture e i paradigmi standard nell’utilizzo dell’SQL e sia le particolarità di ogni specifico prodotto. Evidenzieremo la natura english-like e dichiarativa del linguaggio e impareremo a scrivere query performanti ed efficienti.
Il programma del corso SQL: cosa impareremo
All’inizio avremo bisogno di creare un po’ di lessico comune. Risponderemo essenzialmente a queste domande:
- cos’è un database;
- cos’è un database relazionale;
- cos’è un database non relazionale;
- cos’è una tabella;
- con quale linguaggio di programmazione creo, aggiorno e interrogo le tabelle.
A questo punto inizieremo a scrivere le prime query utilizzando le tre parole chiave principali dell’SQL:
- la SELECT per specificare le colonne che vogliamo visualizzare;
- la FROM per indicare la tabella contenente le informazioni;
- la WHERE per visualizzare solo la porzione di dati che ci interessa.
Per quanto all’apparenza sembrerà tutto facile, vi spiegherò come anche in questi casi è possibile compiere degli errori se non si è opportunamente formati: impareremo a gestire correttamente le date e gli intervalli di date, i valori null, a prendere coscienza di quanto è importante per lo sviluppatore SQL conoscere la struttura del database che sta interrogando per non incorrere in gravi errori. Il tutto con esempi pratici, raccolti dalla mia esperienza sul campo e dagli errori emersi nei numerosi corsi che ho tenuto.
Appena avremo consolidato questa parte, inizieremo a rispondere a domande più complesse in cui le informazioni sono dislocate in più di una tabella. Per far questo dovremo imparare a scrivere le Join. Anche questa attività, per quanto all’inizio sembrerà semplice, nasconde molte insidie perché, se non poniamo le dovute attenzioni, ci troveremo involontariamente a restituire informazioni parziali oppure, ancor peggio, duplicate.
Superato l’ostacolo delle join, dobbiamo imparare come replicare in modo semplice e veloce con l’SQL quelle che sono le tabelle pivot di Excel. Sarà dunque giunto il momento di introdurre la parola chiave GROUP BY e le principali funzioni di aggregazione come SUM, AVG e COUNT. Dopo aver imparato la mia regola d’oro
“copio e incollo nella select ciò che ho scritto nella group by e aggiungo soltanto funzioni di aggregazione“
integreremo la GROUP BY con l’istruzione HAVING e impareremo a rispondere con disinvoltura a domande del tipo:
- estrai il numero di clienti per ogni regione;
- calcola il fatturato diviso per anno e mese;
- riporta le regioni in cui abbiamo fatturato più di 10000 euro nel primo trimestre del 2021, considerando soltanto i prodotti di Tipologia A.
A questo punto padroneggeremo tutta la sintassi di base per interrogare le tabelle di un database relazionale: Select, From, Join, Where, Group by ed Having. Impareremo a questo punto a non fare l’errore dei principianti di “voler fare tutto in un’unica complicatissima query”. Capiremo che per rispondere a domande complesse non serve scrivere query complesse, ma suddividere la domanda in tanti step più semplici, implementarli singolarmente con la sintassi di base dell’SQL e “unire i pezzi” tramite l’utizzo di CTE, subquery o tabelle temporanee.
A questo punto avremo i mezzi e la consapevolezza necessaria per affrontare con disinvoltura nuovi argomenti:
- le clausole TOP e ORDER BY;
- le funzioni principali e il CASE WHEN;
- come passare dall’interrogazione all’aggiornamento di un database.
Imparare a progettare e creare un database
Nella prima metà del corso lavoreremo su dei database creati ad hoc da me, per riprodurre tutte le casistiche e le problematiche di un vero ambiente di lavoro. Una volta padroneggiate le tecniche per interrogare un database preesistente, sarà arrivato il momento di imparare a progettare e creare uno autonomamente. Vedremo quanto sia cruciale la parte di progettazione di un database, scegliere correttamente i tipi delle colonne, creare i vincoli di chiave primaria, chiave esterna e check.
Impareremo i principi della normalizzazione e della progettazione fisica, analizzando gli impatti della creazione degli indici sulle performance di una query, oltre a tutta la sintassi di base che comprende le istruzioni CREATE, ALTER, DROP e TRUNCATE.
Project Work finale
Concluderemo il corso con un Project Work pratico in cui ci metteremo alla prova su un progetto di analisi dei dati con l’SQL e i database relazionali, in tutto e per tutto simile alle sfide che affronteremo quotidianamente a lavoro.
Un esempio di cosa imparerai nel corso SQL
Informazioni generali
Modalità di erogazione: in diretta streaming con software di videoconferenza
Durata edizione one-to-one (lezioni ristrette a un solo partecipante): consiglio un minimo di 16 ore, da rivalutare in base ai propri obiettivi didattici
Costo edizione one-to-one (lezioni ristrette a un solo partecipante): 720€ per un corso di 16 ore. Nel prezzo è compreso in omaggio anche il Video-corso completo di Data Analysis, composto da 50+ ore di video lezione su 9 aree formative, 5 guide step by step alla creazione di un portfolio di analisi dei dati e vari progetti da svolgere in autonomia su cui ricevere feedback personalizzati.
Durata edizione aziendale (lezioni per partecipanti della stessa azienda): da definire in una call in base al numero di partecipanti e alle esigenze didattiche
Costo edizione aziendale (lezioni per partecipanti della stessa azienda): 60€/h
Data di partenza del corso: entro un mese circa dalla richiesta
Calendario: concordato con lo studente o l’azienda
Possibilità di registrare le lezioni per uso didattico: sì
Prerequisiti: PC con sistema operativo Windows, non sono richieste competenze pregresse.
Tutti i prezzi di questa pagina sono esenti iva (iva allo 0%) in quanto erogati nell’ambito del regime fiscale forfettario.