Il blog di Yimp sul Mondo dei dati

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 tra tabelle con il linguaggio SQL

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. Iniziamo riportandovi questa presentazione disponibile su SlideShare perfetta per …

Join tra tabelle con il linguaggio SQL 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

Lo studio del piano di esecuzione di una query è uno step imprescendibile per migliorare le perfomance di un database relazionale e velocizzarne i tempi di esecuzione. La lettura del QEP (query execution plan) noto anche come piano di accesso è il primo passo da fare quando occorre migliorare i tempi di una query troppo …

Piano di esecuzione e performance di una query Leggi tutto »

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 »

Esercizi SQL: introduzione al linguaggio

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 …

Esercizi SQL: introduzione al linguaggio 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 »

Storia di successo – preparazione colloquio di lavoro su SQL

Yimp è operativa da soli pochi mesi. Tuttavia in questo poco tempo ha già raccolto molte storie di successo che abbiamo il piacere di condividere con voi! Un nostro studente di 47 anni ha deciso di riqualificarsi nel mondo del lavoro. L’occasione giusta può arrivare da un colloquio presso un’importante società informatica. Uno dei requisiti …

Storia di successo – preparazione 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

Quando scriviamo una query dobbiamo porre particolare attenzione se filtriamo i dati tramite campi di tipo datetime. Guardiamo ad esempio questo codice: SELECT Convert(Datetime,’20190101′) as CampoDateTime INTO #test; SELECT Count(*) FROM #test WHERE CampoDateTime <= ‘20181231 23:59:59.999’ SELECT Count(*) FROM #test WHERE CampoDateTime < ‘20190101’ Nella prima query creiamo una tabella con una colonna di …

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