Il blog di Yimp sul Mondo dei dati

Le buone abitudini di uno sviluppatore SQL

In questo articolo parleremo di quattro buone abitudini che uno sviluppatore SQL deve avere per scrivere del codice SQL leggibile, facile da manutenere, che minimizzi le possibilità di errori e orientato a pratiche DevOps. Specificare la lista delle colonne dopo Insert Into Quando utilizziamo la sintassi INSERT INTO per popolare una tabella con dei valori …

Le buone abitudini di uno sviluppatore SQL Leggi tutto »

Colonne Identity su Sql Server: tutto quello che c’è da sapere

Su un database Sql Server, la proprietà Identity permette di demandare al database la popolazione della colonna a cui tale proprietà è applicata. In questo articolo vedremo concretamente come creare con l’SQL una tabella con una colonna di tipo Identity e come essa si comporta in fase di aggiornamento del database. Creare una colonna con …

Colonne Identity su Sql Server: tutto quello che c’è da sapere Leggi tutto »

Importanti differenze tra Delete e Truncate

Delete e Truncate sono due istruzioni SQL che spesso generano confusione tra gli sviluppatori e i data analyst. Ad una prima analisi, la differenza principale comune a tutti i database è che la Truncate elimina tutti i record di una tabella, mentre con la Delete si ha la possibilità di cancellare solo le righe che …

Importanti differenze tra Delete e Truncate Leggi tutto »

ETL: extract transform e load su Sql Server

Con ETL si intende l’insieme delle tre operazioni necessarie per popolare una base di dati: estrazione, trasformazione e caricamento, dall’inglese extract, load e transform. In questo articolo vedremo un esempio completo di ETL sul database relazionale SQL Server che effettua nell’ordine le seguenti operazioni: estrazione dei dati da un file con estensione .csv trasformazione dei …

ETL: extract transform e load su Sql Server Leggi tutto »

Deviazione Standard: come calcolarla con i principali software di analisi dei dati

La deviazione standard è un indice statistico fondamentale che esprime la tendenza dei dati a variare. Supponiamo ad esempio di voler analizzare il listino prezzi di due fornitori concorrenti. La più semplice analisi statistica che possiamo effettuare richiede per lo meno il calcolo di due indici: la media e, per l’appunto, la deviazione standard. Il …

Deviazione Standard: come calcolarla con i principali software di analisi dei dati Leggi tutto »

CTE: come e quando utilizzarle nel tuo codice SQL

Le CTE (Common Table Expression) sono uno strumento indispensabile per programmare correttamente in SQL. In questo articolo vedremo come utilizzare le CTE per risolvere query SQL complesse, dividendo il problema di partenza in tanti task più semplici. Tramite le istruzioni di base dell’SQL è possibile interrogare un database relazionale per risolvere un’elevata percentuale delle richieste …

CTE: come e quando utilizzarle nel tuo codice SQL Leggi tutto »

Funzioni SQL: l’elenco delle più utili e frequenti

Padroneggiare le funzioni SQL è una skill molto importante per tutti gli sviluppatori SQL e i data analyst. Lo scopo di questo articolo è di riportare e classificare in un’unica pagina l’elenco delle funzioni SQL più utili e frequentemente utilizzate. All’interno dell’articolo faremo riferimento a tre tra i principali RDBMS (Relational Database Management System) presenti …

Funzioni SQL: l’elenco delle più utili e frequenti Leggi tutto »

Group by SQL: come aggregare i dati di una tabella

In questo articolo parleremo dell’operatore GROUP BY del linguaggio SQL, uno strumento fondamentale che ci permetterà di analizzare i dati presenti all’interno di un database sotto molteplici punti di vista, tramite aggregazioni e semplici calcoli matematici. Facciamo un esempio per chiarire meglio l’utilizzo della group by. Nel nostro database sarà sicuramente presente una tabella in …

Group by SQL: come aggregare i dati di una tabella Leggi tutto »

Esercizi SQL con soluzioni: un elenco esaustivo

In questo articolo riporto un elenco di esercizi SQL con soluzioni estratti dai miei corsi di SQL. Gli esercizi coprono la maggior parte delle competenze necessarie per interrogare un database relazionale e scrivere query corrette ed efficienti. Le soluzioni proposte sono nel dialetto T-SQL del database Microsoft Sql Server, tuttavia possono essere trasportate con poche …

Esercizi SQL con soluzioni: un elenco esaustivo Leggi tutto »

Come creare una tabella Pivot su Excel

In questo articolo vediamo come creare step by step una tabella Pivot su Microsoft Excel. Le tabelle Pivot sono uno strumento molto potente che ci permetterà di svolgere con pochi click analisi dei dati molto accurate, aggregando le informazioni di dettaglio in viste riepilogative e dall’alto potere informativo.   Creazione di una tabella Pivot In …

Come creare una tabella Pivot su Excel Leggi tutto »

SQL: un overview generale sul linguaggio

L’SQL è un linguaggio di programmazione dichiarativo che permette di interrogare, aggiornare e gestire i database relazionali. SQL è l’acronimo di Structured Query Language, molte persone ancora oggi si rivolgono a questo linguaggio con il nome originale Sequel, modificato in SQL intorno alla fine degli anni 70 per semplici questioni di brevetto.   SQL è …

SQL: un overview generale sul linguaggio Leggi tutto »

Esercizi Excel con soluzione

In questo articolo riportiamo alcuni esercizi di media difficoltà da fare su Microsoft Excel. Potete svolgere direttamente gli esercizi scaricando il file a questo link in cui sono disponibili dei dati d’esempio e delle domande bonus.   Esercizi Excel: convertire il tipo di una colonna con Testo In Colonne Nel foglio Fatture, modificare la colonna spedizione …

Esercizi Excel con soluzione Leggi tutto »

Update SQL: la guida completa per tutti i principali RDBMS

Lo scopo di questo articolo è di riportare in un solo posto la sintassi per eseguire un Update con il linguaggio SQL su tutti i principali RDBMS (Relational Database Management System) sia nella versione base e sia nel caso in cui la query richieda una join con una seconda tabella. Vedremo in particolare i database …

Update SQL: la guida completa per tutti i principali RDBMS Leggi tutto »

La funzione SQL Replace: come e quando usarla

Il linguaggio SQL dispone di numerose funzioni per manipolare e gestire le stringhe di testo. In questo articolo vedremo in particolare come usare la funzione SQL Replace. La funzione Replace ci permette di sostituire uno o più caratteri presenti in una colonna di tipo stringa (ad esempio varchar o nvarchar). Funzione Replace su Sql Server: …

La funzione SQL Replace: come e quando usarla Leggi tutto »

Quali competenze servono per lavorare correttamente su Excel

In questo articolo elencheremo le competenze più comuni e utili che occorre padroneggiare per utilizzare professionalmente Microsoft Excel a lavoro. Le competenze saranno suddivise in macro-aree in base al loro scopo e al loro campo di applicazione.   Scheda Home e funzionalità generali Le attività riportate in questo paragrafo sono abbastanza semplici. Il loro utilizzo …

Quali competenze servono per lavorare correttamente su Excel Leggi tutto »

Performance SQL: semplici tecniche per scrivere query più veloci

In questo articolo sono mostrati dei semplici accorgimenti per migliorare le performance del codice SQL, per imparare a scrivere query più veloci e performanti.   Performance SQL: scrivere condizioni Sargable Le condizioni Sargable sono delle condizioni inserite nella Where di una query che permettono al motore di database di utilizzare gli indici presenti sulle colonne …

Performance SQL: semplici tecniche per scrivere query più veloci Leggi tutto »

Come scrivere una query: una guida gratuita al linguaggio Sql

Cliccando su questo link puoi scaricare gratuitamente la mia guida SQL Come scrivere una query, pensata appositamente per chi si approccia per la prima volta al linguaggio SQL e ai database relazionali e vuole imparare ad utilizzare questo importantissimo strumento di analisi dei dati.   Un’introduzione colorata a SQL Lo scopo di questa guida è …

Come scrivere una query: una guida gratuita al linguaggio Sql Leggi tutto »

Normalizzazione di un database: un esempio svolto

Normalizzare un database vuol dire progettare le relative tabelle in modo da minimizzare la duplicazione delle informazioni e rendere agevole la scrittura di query di ricerca e di raggruppamento. Sul web trovate tantissimi riferimenti alla formalizzazione della teoria della normalizzazione di un database. Lo scopo di questo articolo è di presentarvi un esempio concreto che …

Normalizzazione di un database: un esempio svolto Leggi tutto »

Errori frequenti con l’SQL: quali sono e come evitarli

Il linguaggio SQL ha un paradigma dichiarativo ed una radice “english-like”. Di conseguenza risulta generalmente più facilmente comprensibile di molti altri linguaggi di programmazione. Anche la relativa curva di apprendimento è il più delle volte più ripida. Tuttavia, se non correttamente studiato, anch’esso presenta svariati trabocchetti che possono indurre anche il programmatore più esperto in …

Errori frequenti con l’SQL: quali sono e come evitarli Leggi tutto »

Join SQL: come collegare dati tra tabelle

In questo articolo vedremo come scrivere una JOIN con il linguaggio SQL per collegare i dati presenti in più tabelle di un database relazionale. Utilizzare correttamente l’operatore di JOIN è un aspetto importantissimo che chiunque si avvicini al mondo delle query con l’SQL deve imparare a padroneggiare.   Join SQL: la sintassi Anche a causa …

Join SQL: come collegare dati tra tabelle Leggi tutto »

Insert, update e delete per aggiornare in sicurezza un database

In questa guida vedremo come scrivere in SQL in modo corretto e sicuro query di insert, update e delete per aggiornare un database Sql Server. Molto spesso queste operazioni risultano particolarmente delicate in quanto, a differenza di una semplice select, un errore nella loro scrittura potrebbe creare gravi problemi al database sottostante. Diventa dunque necessario …

Insert, update e delete per aggiornare in sicurezza un database Leggi tutto »

Le nuovi funzioni T-SQL TRIM, Concat WS e STRING_AGG

Scopri come le nuove funzioni di Sql Server possono migliorare il tuo codice T-SQL

Come imparare a scrivere una query

Consigli per un primo approccio al mondo dei database relazionali e di SQL

MySql: cinque avvertenze per chi inizia a imparare l’SQL

In questo articolo analizzerò cinque peculiarità della sintassi SQL sul database relazionale MySql che è bene conoscere per evitare errori. Alcune di queste caratteristiche potrebbero essere viste come un “benefit” se osservate dal punto di vista di un programmatore esperto, ma per chi inizia da poco ad approcciarsi all’SQL possono rivelarsi una fonte di errori …

MySql: cinque avvertenze per chi inizia a imparare l’SQL Leggi tutto »

Le doti pratiche di un buon tester

Concludiamo questo primo ciclo di articoli con delle riflessioni su alcuni argomenti trasversali che hanno attinenza con il lavoro quotidiano della figura del collaudatore di software. Questi spunti si possono applicare a qualsiasi contesto professionale e a qualsiasi realtà aziendale, da quella più piccola ai settori più critici, trasversalmente al grado di granularità del test. …

Le doti pratiche di un buon tester Leggi tutto »

Piano di esecuzione e performance di una query

Analizzare i piani di esecuzione (QEP) è il primo step per migliorare le performance del tuo SQL.

Cinque differenze tra PL-SQL e T-SQL

Riprendo il tema trattato in questo articolo molto apprezzato da voi lettori sulle differenze tra la programmazione SQL su ambiente Sql Server e su ambiente Oracle. Andiamo a scoprire altre cinque fondamentali differenze tra il PL-SQL e il T-SQL.   Confronti tra un campo varchar e una stringa contenente spazi in PL-SQL e T-SQL Riprendiamo …

Cinque differenze tra PL-SQL e T-SQL Leggi tutto »

Progettazione di un database relazionale

La progettazione e la creazione di un database relazionale è una fase cruciale all’interno del ciclo di vita di un processo di data management. In questo articolo descriveremo i vari stadi della progettazione di un database partendo da un project work svolto con dei miei studenti durante l’ultima giornata del corso sui database relazionali. Il …

Progettazione di un database relazionale Leggi tutto »

Cinque differenze tra ambiente Oracle e Sql Server

Parliamo in questo articolo di cinque differenze tra la programmazione SQL su ambiente Sql Server e su ambiente Oracle. Tali differenze sono di fondamentale importanza perché inerenti operazioni frequentissime e, se non conosciute, potrebbero portare a comportamenti inattesi pur senza errori di compilazione.   Utilizzo di Varchar e Varchar2 Per eseguire i nostri test occorre …

Cinque differenze tra ambiente Oracle e Sql Server Leggi tutto »

Esercizi difficili di SQL: quali sono e come risolverli?

Spesso mi viene chiesto di mettere alla prova gli studenti tramite degli esercizi difficili di SQL. Per quanto la natura della richiesta sia un po’ vaga per via della soggettività intrinseca della parola difficile, ritengo comunque utilissimo capire in che modo si possano testare i miglioramenti e il livello di conoscenza del linguaggio SQL. Una …

Esercizi difficili di SQL: quali sono e come risolverli? Leggi tutto »

Casi e scenari di test

In questo articolo affronteremo, in maniera breve ma completa, una delle tematiche pratiche più importanti per un tester che ha ripercussioni dirette nella quotidiana attività professionale. Parleremo infatti di casi e scenari di test. Nell’approcciarsi alle verifiche di una funzionalità, soprattutto se si tratta di controllare non regressioni o nuove funzioni di ampio contenuto, ne …

Casi e scenari di test Leggi tutto »

La tempificazione e la valutazione del rischio

Parliamo questo mese di un aspetto meno tecnico ma assolutamente non secondario del ciclo del software, che assume importanza anche in fase di collaudo: la tempificazione e la valutazione dei rischi. Questi due aspetti sia isolatamente che in sinergia fra loro permettono un efficientamento delle attività di test e un regolare ciclo di vita del …

La tempificazione e la valutazione del rischio Leggi tutto »

Il test di non regressione

Affrontiamo in questo articolo uno dei punti focali dell’attività di test: la non regressione. Oltre a garantire che una funzionalità sia resa disponibile con una percentuale di errore ragionevolmente bassa in linea con gli standard aziendali e rispetti le specifiche richieste dal cliente, è altrettanto importante garantire che non esistano “interferenze” in altri contesti. Queste …

Il test di non regressione Leggi tutto »

Il test delle performance e il test di carico

In questo articolo affrontiamo due argomenti particolarmente significativi nell’ingegneria del software e quindi rilevanti per chi ne controlla i prodotti prima del rilascio al mercato. Per un approccio sintetico ma completo allo stesso tempo, definiamo innanzitutto i due contesti: – la performance è l’attitudine di una funzione a svolgere una azione (un elaborazione, il caricamento di …

Il test delle performance e il test di carico Leggi tutto »

La tempificazione del test: caratteristiche e vantaggi

Affrontiamo in questo articolo uno degli aspetti più rilevanti nella fase preparatoria del test di una funzionalità: la valutazione dei tempi di realizzazione. La “tempificazione” (in inglese T.T.C. Time Test Costing) è la quantificazione del tempo necessario alla completa e corretta verifica di una funzione. Una coerente valutazione delle tempistiche effettuata a priori consente che …

La tempificazione del test: caratteristiche e vantaggi Leggi tutto »

Come esercitarsi con l’SQL su problematiche reali

In questo articolo riporto alcuni esercizi di SQL presi dal corso Introduzione all’SQL e ai database relazionali. Gli esercizi si rivolgono a chi è all’inizio della curva di apprendimento del linguaggio SQL. La loro impostazione è tale da mimare delle richieste reali del mondo del lavoro provenienti da un ipotetico cliente. In tal modo è …

Come esercitarsi con l’SQL su problematiche reali Leggi tutto »

White box testing: definizione, caratteristiche e potenzialità

Il test a scatola bianca od aperta (in inglese W.B.T. -White Box Testing-) è una metodologia di test che ha come presupposto il fatto di avere a disposizione, oltre che le specifiche di test, anche il dettaglio dei metodi con cui la funzione è stata implementata. Per concretizzare il concetto pensiamo ad una scatola trasparente: …

White box testing: definizione, caratteristiche e potenzialità Leggi tutto »

Black box testing: come, quando e perché

Il test a scatola nera (in inglese B.B.T. Black Box Testing) e una metodologia di test che ha come presupposto il fatto di non conoscere gli strumenti o le funzioni di codice o programma che hanno permesso l’implementazione della funzionalità in fase di verifica. Per usare un’immagine visuale pensiamo ad una scatola chiusa e coperta …

Black box testing: come, quando e perché Leggi tutto »

Domande in un colloquio di lavoro su SQL

Prepararsi ad un colloquio sull’SQL è un’esigenza molto frequente. Le figure professionali che lavorano nell’ambito del data management sono sempre più numerose: data scientist, data engineer, data analyst, ecc. Inoltre una conoscenza di base dell’SQL è richiesta per praticamente tutte le figure che lavorano all’interno di un progetto informatico. L’ispirazione per scrivere questo articolo mi …

Domande in un colloquio di lavoro su SQL Leggi tutto »

Il test del software: cos’è e chi lo fa

Il test di un’applicazione o di un programma è un’attività fondamentale del ciclo di vita del software, ma molto spesso sottovalutata o sottodimensionata. Pensiamo a moltissime attività quotidiane oramai usuali: (inviare una mail, fare acquisti on line, ecc.) e automatizzate. Dietro c’è sempre una verifica e di fatto un tester. Con questo articolo, cercherò di …

Il test del software: cos’è e chi lo fa Leggi tutto »

SQL Server: Parameter Sniffing

In questo articolo parlo del fenomeno noto come Parameter Sniffing. Per ottimizzare le performance, Sql Server potrebbe memorizzare il piano di esecuzione di una stored procedure alla sua prima esecuzione. Il parameter sniffing è quel fenomeno per cui lo stesso piano di esecuzione sarà utilizzato anche nei successivi run, nonostante ne esisterebbero altri più efficienti …

SQL Server: Parameter Sniffing Leggi tutto »

SQL Server: performance tuning tramite Order by

Esistono query le cui performance migliorano aggiungendo una clausola order by? La risposta ? affermativa, e non poteva darla qualcuno diverso da Itzik Ben-Gan durante il suo talk “Ordering Woes” al SqlBits 2019. Guardate il codice della foto in alto, provatelo sul vostro database e osservate con cura i due execution plan! Gli esempi di …

SQL Server: performance tuning tramite Order by Leggi tutto »

Project Management: la sindrome dello studente

Conosci la sindrome dello studente? E’ una tendenza frequente nel comportamento umano per cui molte persone tendono ad applicarsi maggiormente solo a ridosso di una scadenza, come uno studente universitario alle prese con una sessione d’esame. E’ compito del Project Manager e/o dell’intero Scrum Team conoscere, individuare e monitorare questa tendenza all’interno della squadra. Leggi …

Project Management: la sindrome dello studente Leggi tutto »

Project Management: gestione della conoscenza

Per gestire la conoscenza nell’ambito dello sviluppo di un team, documentare in forma scritta le best practice e gli errori passati può sicuramente essere una buona pratica. Tuttavia ciò non è sufficiente: in accordo con il PMBOK, un Project Manager ha tra i suoi compiti primari quello di creare un clima di fiducia e rispetto …

Project Management: gestione della conoscenza Leggi tutto »

SQL Server: filtro su campi datetime

In questo articolo vedremo come scrivere correttamente una query sul database SQL Server che effettui un filtro su un campo datetime. Occorre prestare molta attenzione perché senza le giuste conoscenze potremmo incappare in risultati errati.   Sintassi di base per filtrare una colonna datetime Per prima cosa vediamo con quale formato scrivere il valore con …

SQL Server: filtro su campi datetime Leggi tutto »

SQL Server: filtered index

In questo articolo parlerò dei filtered index. Per crearne uno occorre aggiungere, come nell’esempio in foto, una condizione where allo statement di creazione dell’indice. Scriviamo ad esempio: CREATE Non Clustered Index Idx_Test ON #Tabella(Colonna2) WHERE Colonna2 IS NOT NULL; La creazione di Filtered Index può rivelarsi molto efficace quando occorre filtrare i dati utilizzando una …

SQL Server: filtered index Leggi tutto »

SQL Server: unused index

Il moltiplicarsi di indici nonclustered può essere una delle cause del deterioramento delle performance di un database. Ancor più grave sarebbe il caso in cui tali indici non siano nemmeno utilizzati: può darsi ad esempio che alcuni indici erano stati creati ad hoc per query che non vengono più eseguite. In altri casi, come nell’esempio …

SQL Server: unused index Leggi tutto »

SQL Server: covered index

In questo breve articolo discuteremo il concetto di Covered Index e di come esso possa essere utilizzato per migliorare le performance di query troppo lente. A volte creare un indice sulla foreign key o sulle colonne usate nei filtri potrebbe non bastare. Infatti, la presenza di altre colonne nella query potrebbe spingere il piano di …

SQL Server: covered index Leggi tutto »

Quando usare SCRUM

Cos’è Scrum? Come deve essere composto uno Scrum Team? Qual è la differenza tra uno Scrum Master e un Project Manager? Tutte domande molto interessanti, ma oggi proveremo a rispondere ad un’altra: quando useremo Scrum? Come spesso accade, una risposta l’hanno gia data Ken Schwaber e Jeff Sutherland: “Scrum è un framework per sviluppare, rilasciare, …

Quando usare SCRUM Leggi tutto »

Torna su