Corso SQL e Database relazionali

corso sql e database

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. Le spiegazioni teoriche termineranno dopo circa venti minuti della prima lezione. Da quel momento in poi inizieremo insieme a programmare, 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

Come vi dicevo ci serviranno venti minuti circa di teoria, per rispondere sostanzialmente 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.

join tra tabelle

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 (a questo link trovi un mio articolo di approfondimento a riguardo). Anche questa attività, per quanto all’inizio sembrerà semplice (per gli amanti di Excel vi ricorderà la funzione cerca.verticale https://support.microsoft.com/it-it/office/funzione-cerca-vert-0bbc8083-26fe-4963-8ab8-93a18ad188a1), nasconde molte insidie perché, se non poniamo le dovute attenzioni, ci troveremo involontariamente a restituire informazioni parziali oppure, ancor peggio, duplicate.

Continuando il paragone con Excel, 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 regola d’ora “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 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 (ne ho parlato qui).

 

Corso SQL: 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 (trovi il codice per crearli sul mio repository di Github). 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 (qui trovi un mio articolo su come normalizzare un database) 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.

 

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 ad un solo partecipante): 24 ore

Costo edizione one-to-one (lezioni ristrette ad un solo partecipante): 1080€

Durata edizione aziendale (lezioni per partecipanti della stessa azienda): da definire in una call

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:

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.

 

Contattami

CAPTCHA immagine

Questo ci aiuta a prevenire lo spam, grazie.

Torna su