Il blog di Yimp sul Mondo dei dati

CTE: come e quando utilizzarle nel tuo codice SQL

In questo articolo vedremo cosa sono, come e quando utilizzare le CTE (Common Table Expression) all’interno del tuo codice SQL per risolvere query 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 di estrazioni dati …

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

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

Lo scopo di questo articolo è di riportare e classificare in un’unica pagina l’elenco delle funzioni SQL più utili e frequentemente utilizzate dagli sviluppatori. All’interno dell’articolo faremo riferimento a tre tra i principali RDBMS (Relational Database Management System) presenti oggi sul mercato: Microsoft Sql Server, Oracle e MySql.   Funzioni SQL per gestire le stringhe …

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 chiarirne meglio l’utilizzo della group by: nel database sarà sicuramente presente una tabella in cui …

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

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.   Convertire il tipo di una colonna con Testo In Colonne Nel foglio Fatture, modificare la colonna spedizione convertendola nel …

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 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 Sql Server, Oracle, MySql …

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 funzione per manipolare e gestire stringhe di testo. In questo articolo vedremo in particolare come usare la funzione 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: sintassi La …

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 di un database: semplici tecniche per scrivere query più veloci

In questo articolo sono mostrati dei semplici accorgimenti per rendere le query SQL più veloci e performanti sul database Microsoft SQL Server   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 oggetto del …

Performance di un database: semplici tecniche per scrivere query più veloci Leggi tutto »

Come scrivere una query: un eBook gratuito sull’Sql

Cliccando su questo link puoi scaricare gratuitamente il mio ebook Come scrivere una query, pensato 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 questo eBook è introdurre …

Come scrivere una query: un eBook gratuito sull’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 facilmente più comprensibile di molti altri linguaggio. Anche la relativa curva di apprendimento risulta 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 errore. Vi riportiamo …

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 di …

Join SQL: come collegare dati tra tabelle Leggi tutto »

Insert, update e delete per aggiornare in sicurezza un database

In questo 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 »

SQL Server 2017 e 2019: le nuovi funzioni

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

Didattica dell’SQL: MySql è il migliore DBMS per iniziare?

Molto spesso, quando ci vengono affidati corsi di base di SQL per lavoratori neoassunti, ci viene chiesto di utilizzare MySql. In questo articolo vi spiego cinque motivi per cui MySql non è a mio parere il DBMS migliore per illustrare l’SQL a scopo didattico, in particolar modo a persone che si approcciano per la prima …

Didattica dell’SQL: MySql è il migliore DBMS per iniziare? 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

Riprendiamo 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 Riprendiamo lo stesso script utilizzato …

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

Progettare e realizzare un database relazionale

Nell’ultima giornata della seconda edizione del corso sui database relazionali abbiamo svolto un project work che seguiva l’intera filiera di un progetto di analisi dati: analisi dei requisiti; progettazione concettuale del database; progettazione logica e creazione di un database relazione su Microsoft Sql Server 2016 con l’SQL; analisi della reportistica; implementazione in sql di query …

Progettare e realizzare 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 approfondimento delle conoscenze di SQL. …

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 riportiamo degli 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. Comunque 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

L’ispirazione per scrivere questo articolo mi è stata data da un mio studente di 47 anni che ha deciso di riqualificarsi nel mondo del lavoro. L’occasione giusta è arrivata da un colloquio presso un’importante società informatica. Uno dei requisiti imprescindibili è però la conoscenza del linguaggio SQL. Invece di abbattersi, ha visto in questa richiesta …

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 parliamo 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 parleremo dei filtered index. Per crearne uno occorre aggiungere, come nell’esempio in foto, una condizione where allo statement di creazione dell’indice. Ad esempio, il suo utilizzo può rivelarsi molto efficace quando occorre filtrare i dati utilizzando una colonna sparsa che contiene spesso null. La presenza della where nella definizione dell’indice avrà come …

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