Rimango sempre dell’idea che per chi sviluppa in ambito .NET, più se ne conosce di T-SQL, il linguaggio di SQL Server, meglio è.
E mi fa sempre piacere quando ho tra le mani un libro che ne tratta. Se poi il libro è ben scritto ed aggiornato con le ultime versioni, come questo della Apress, la soddisfazione aumenta ancor di più.
Mi piace poi anche il fatto che non sia eccessivamente voluminoso. Circa 400 pagine sono l’ideale per renderlo trasportabile e gestibile senza troppi problemi. L’autrice, Kathi Kellenberger, è un’esperta di SQL Server con parecchi anni di carriera alle spalle, e ha il dono della concisione e della chiarezza espositiva.
È anche pignola il giusto per far sì che il codice sia ottimamente scritto, ben indentato e senza errori, il che non è poco, considerando il fatto che il libro è indirizzato a lettori principianti, che si troverebbero in difficoltà di fronte a refusi o errori negli esempi di T-SQL.
Ma veniamo al contenuto.
Dopo il primo lungo capitolo dedicato all’installazione di SQL Server 2008 (la prima versione, non la R2), ben ricco di immagini e spiegazioni passo per passo, dal secondo capitolo fino al 10 si entra nel merito del linguaggio, partendo dalle basi dell’istruzione Select e procedendo gradualmente verso argomenti più complessi.
Per un lettore principiante, la lettura sequenziale, capitolo dopo capitolo, direi che è d’obbligo. Chi invece ha già esperienza, e vuole approfondire qualche concetto o aspetto del T-SQL, può saltare direttamente alle pagine che lo trattano. Penso ad esempio al capitolo 9, che tratta dei nuovi tipo di dato introdotti con SQL Server 2008: gerarchico, geometrico, geografico, ecc.
L’approccio dell’autrice è “puristico”, ovvero ci si concentra solo ed esclusivamente sul linguaggio: non si spiega infatti come usare il Management Studio, dove si trovano i pulsanti di edit, come ci si collega ad un database, e così via. Quel poco che serve per scrivere le query è riportato nel primo capitolo sull’installazione, poi spetta al lettore, se realmente interessato, scoprire l’ambiente coi propri passi.
Come database ci si riferisce ad AdventureWorks, la corposa base dati introdotta con SQL Server 2005. Alcuni esempi, invece, utilizzano la versione LT, un po’ più maneggiabile.
Personalmente, viste le finalità di questo manuale, avrei utilizzato Northwind, un database senz’altro più semplice ma comunque dotato di tutto ciò che possa servire ad un lettore principiante.
AdventureWorks, infatti, introduce delle complicazioni inutili, come i numerosi schemi su cui sono basate le sue tabelle e che, ai fini dell’apprendimento del T-SQL, sono ininfluenti.
L’impaginazione del testo è molto sobria e professionale, come si vede dall’immagine qua sotto.
Gli esempi di codice sono tutti scritti in grassetto, perfettamente indentati e ben commentati, come in genere accade in tutti i libri della Apress.
L’autrice segue questo approccio. Presenta prima il codice degli esempi, uno di seguito all’altro, e poi ne spiega il funzionamento. Questa tecnica è didatticamente apprezzabile, anche se ho il sospetto che alcuni lettori avrebbero preferito un approccio diverso, ovvero esempio subito seguito dalle spiegazioni, e non ritrovarsele tutte insieme alla fine; ma questo dipende molto dai gusti personali.
Le immagini, a parte il primo, ricchissimi capitolo, sono praticamente assenti, se non solo quelle che riportano l’esito delle query.
I capitoli sono quasi tutti molto lunghi, spesso anche troppo. Ad esempio, i capitoli 7 e 8, forse quelli più complessi, in cui si parla di programmazione in T-SQL, superano le 50 pagine.
Io rimango sempre dell’idea che sarebbe meglio avere capitoli brevi, anche aumentandone il numero. In tal modo si riesce ad iniziare e terminare un argomento in un tempo ragionevole, mentre avendo capitoli così corposi non si riesce a portarli a termine in un’unica lettura, non solo per problemi di tempo ma perché dopo tot pagine lette, inevitabilmente, l’attenzione e la concentrazione decadono.
Consiglierei, magari, di prendere delle pause in occasione dei blocchi di esercizi che l’autrice riporta inframmezzati nei capitoli (fino all’ottavo compreso). Questi esercizi, ovviamente, sono super raccomandabili, dato che la pratica, per l’apprendimento del T-SQL, è di basilare importanza. Le soluzioni, insieme al testo dell’esercizio, sono riportate nell’unica appendice del libro.
Originale l’ultimo, brevissimo, capitolo in cui l’autrice spiega come procedere nell’apprendimento successivo: forum, blog, conferenze, “googlate” e così via, tutto riportato sotto forma di consigli e suggerimenti.
Delle vere e proprie chicche sono le ultime pagine di ogni capitolo in cui ci si sofferma a valutare questioni legate alle performance delle query. Ai fini della velocità di esecuzione, è meglio scrivere il codice in questo modo o in quest’altro? Questo è un aspetto spesso sottovalutato anche da sviluppatori esperti, e avere una base di conoscenza su questi aspetti può fare davvero la differenza.
Ovviamente, come si può intuire, questo è un libro per sviluppatori, non per sistemisti. Non vengono infatti affrontati aspetti legati a SQL Server in quanto motore di database. Autenticazione, protezione, backup e via discorrendo sono tutti campi che non vengono trattati.
Il codice sorgente scaricabile dal sito della Apress è racchiuso in un file molto piccolo (soli 35 Kb), ed è ben separato per capitoli (a parte il primo), come appare nell’immagine qua sotto.
In ogni cartella c’è un unico file .txt racchiudente tutti gli esempi del capitolo. In tal modo è semplice ed immediato fare un Copia&Incolla nel Management Studio per provarli direttamente sul campo.
Esteticamente il libro si presenta bene, è robusto sia come copertina che come carta. La rilegatura è forse un po’ troppo rigida per i miei gusti.
La cura realizzativa è notevole. Non ho infatti trovato refusi ed errori, e la pagine delle Errate sul sito della Apress riporta solo queste.
Per concludere direi che la lettura di questo libro è stata un’esperienza davvero piacevole. È sicuro che anche chi conosce già abbastanza bene (lasciamo fuori giusto i pochi “guru” del linguaggio) troverà qualche dettaglio di cui non era a conoscenza, e le pagine dedicate alle questioni di performance sono delle vere ciliegine sulla torta che non si trovano in altri libri analoghi a questo.
Per un lettore interessato ad imparare le basi, ed anche qualcosa in più del T-SQL, questo libro rappresenta un valido investimento, considerando anche il prezzo più che accessibile (meno di 30 euro), come si vede da quanto riportato su Amazon Italia.
PRO
Inglese molto comprensibile, esempi di codice ben fatti e ottimamente indentati, spiegazioni sempre accurate e precise, quasi assenza di refusi ed errori e buona copertura anche degli argomenti un po’ più avanzati del T-SQL: questi sono i pregi di questo valido manuale. Le pagine dedicate alle migliori scelte in ottima “performance”, fanno la differenza tra questo libro e tanti altri.
CONTRO
Non ci sono grossi difetti; personalmente avrei diminuito leggermente alcuni capitoli molto lunghi spezzandoli in due, e avrei dedicato un po’ più spazio alle stored procedure. La rilegatura è un po’ rigida, ma è un problema che affligge quasi tutti i libri della Apress.
Voto complessivo: 8/10
Lettore: Principiante/Intermedio
Sommario
Contents at a glance
Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
1 – Chapter 1: Getting Started
37 – Chapter 2: Writing Simple SELECT Queries
79 – Chapter 3: Using Functions and Expressions
117 – Chapter 4: Querying Multiple Tables
151 – Chapter 5: Grouping and Summarizing Data
183 – Chapter 6: Manipulating Data
221 – Chapter 7: Understanding T-SQL Programming Logic
269 – Chapter 8: Moving Logic to the Database
317 – Chapter 9: Working to the New Data Types
343 – Chapter 10: Writing Advanced Queries
375 – Chapter 11: Where to Go Next?
379 – Appendix: Solutions to the Exercises
427 - Index