Questo volume rappresenta il primo di una serie di 2 dedicati a SQL Server 2005 e scritti da un gruppo di autori facenti parte della società Solid Quality Learning, famosa grazie ai corsi che impartisce e per i libri che produce (tutti sotto il marchio Microsoft Press), nonché per il prestigio di alcuni suoi collaboratori. Su alcuni siti, tra cui quello della Mondatori Informatica, come autore figura solo Fernando Guerrero. Ciò non è corretto, in quanto tale autore è solo uno dei componenti del team (sette persone), e non l’unico. A parte questa piccola premessa il testo offre una più che solida base per impratichirsi con SQL Server 2005, dando risalto a due aspetti fondamentali, che spesso non vengono trattati in simili libri, ovvero una degna base sulla teoria dei database, e soprattutto come osservare particolari riguardi all’ottimizzazione delle prestazioni del database. La prima parte (3 capitoli) è dedicata alla teoria delle basi dati, all’installazione di SQL Server 2005 e all’uso della sua principale interfaccia grafica, il SQL Server Management Studio (SSMS). La trattazione è accompagnata da ottime immagini (grandi quando serve il dettaglio e piccole quando basta il colpo d’occhio), e da un inglese comprensibile e scorrevole (anche se tendente un po’ al freddo ed impersonale).
La seconda parte (capitoli 4 e 5), dedicata all’analisi grafica di una base dati, necessita di Visio, presente in Office Premium 2003 o nella versione Enterprise Architect di Visual Studio (chi non lo possedesse potrà sfruttare solo parzialmente questi capitoli, perlomeno come pratica). Sempre in questa parte è presente un’approfondita analisi dei tipi di dati presenti in SQL Server, con consigli su quando è meglio usarne uno piuttosto che un altro (qualche piccola imprecisione, come quando viene riportato il tipo di dato “rowversion”, non più presente in realtà in SQL Server 2005 – sarebbe il “timestamp”). Vengono riportati anche ottimi consigli su come strutturare un database e che vincoli apporre per garantire la consistenza dei dati. Questo è un vero plus offerto dagli autori, dato che raramente si trovano consigli di questo tipo. Dal capitolo 6 si inizia invece veramente ad operare sui dati, analizzando per bene le basilari istruzioni Select/Insert/Update/Delete, dando sempre un occhio di riguardo alle prestazioni, e offrendo molti validi consigli sul loro migliore utilizzo. La parte terza (4 capitoli), in particolare, è dedicata interamente all’interrogazione del database, dando prima spazio al T-SQL e poi effettuando le stesse operazioni via ADO.NET (versione 2.0).
Inoltre, man mano che viene trattato l’argomento di selezione dei dati, si introducono concetti collaterali, come la gestione delle date, la gestione degli errori, i trigger, le funzioni definite dall’utente e tutte la varie funzioni di sistema offerte da SQL Server 2005.
In qualche esempio (soprattutto nell’ultimo capitolo dedicato all’Update), ho notato qualche piccola imprecisione negli script (qualche virgola di troppo, “getdate()” scritto come “@getdate()”, ecc.), come anche qualche svista nelle variabili (dichiarate ma poi mai usate). Non sono gravi problemi, ma essendo questo un libro dedicato a quasi principianti, sarebbe stato meglio evitarli.
Il database utilizzato negli esempi è il nuovo AdventureWorks. Ora, io non ho nulla contro questo database, ma utilizzarlo come base dati predefinita in un libro introduttivo introduce una complicazione inutile, soprattutto per la sua forte struttura a “schemi”, dove qualche volta lo schema è uguale al nome della tabella, e qualche volta diverso (senza contare che rende eccessivamente prolisso il codice T-SQL). Per questi casi, come ad esempio fa Robert Vieria nei suoi testi, sarebbe più indicato Northwind (se non addirittura pubs in certi casi più semplici).
Per i codici di ADO.NET il linguaggio utilizzato è VB.NET (e compare anche qualche file addirittura in C), e non è presente, nemmeno nel codice sul Cd, una versione in C#.
Il Cd accluso è stato sotto utilizzato. Contenendo infatti solo il codice degli esempi, circa 8 MB, fa pensare che sarebbe stato meglio consentire al lettore di scaricarselo dal web (abbassando così un po’ il prezzo di copertina), oppure sfruttare meglio i 700 MB del Cd aggiungendo magari la versione Express di SQL Server 2005 (che è gratuita), come anche qualche Pdf tratto da altri libri della Microsoft Press.
Alla pagina http://www.microsoft.com/MSPress/books/8743.asp è presente la scheda del libro. Mancano però materiali scaricabili, tipo estratti in Pdf o quant’altro. Almeno l’indice sarebbe stato utile per farsi un’idea un pochino più precisa del contenuto. Segnalo che questo libro (come anche la parte seconda) è stato recentemente tradotto in italiano dalla Mondadori Informatica, e la scheda si trova alla pagina http://education.mondadori.it/Libri/SchedaLibro.asp?IdLibro=88-04-54245-4
Pro
Questo libro offre un approccio originale, ma visto prima in altri libri sul medesimo argomento, rendendolo di fatto un complemento utilissimo per altri testi più approfonditi o come secondo passo dopo un corso (o libro) basilare. Viene presentata la teoria dei database, con le basi del linguaggio T-SQL, ma accompagnando il tutto con variegati consigli sul migliore utilizzo, soprattutto dal punto di vista delle prestazioni. L’esposizione non è arida, del tipo “si fa così e basta”, ma viene spiegato perché è meglio fare in un certo modo piuttosto che in un altro, e questo rappresenta il vero plus di questo libro. L’esposizione è chiara e non prolissa, con un inglese facilmente comprensibile anche a chi non è madrelingua. Malgrado sia dedicato ai principianti, vengono illustrati anche argomenti avanzati (come le CTE, anche se non spiegate approfonditamente), e l’utilizzo di ADO.NET per effettuare operazioni di elaborazione dei dati. La buona impaginazione e la dimensione non eccessiva, ne aumentano la fruibilità.
Contro
In alcuni passaggi, soprattutto pensando al target di lettore a cui è rivolto, qualche spiegazione in più non sarebbe stata superflua. Nel codice sono presenti alcuni errori, anche se individuabili con facilità.
Per soli 8 MB il Cd accluso sarebbe stato meglio evitarlo del tutto, o renderlo più ricco di materiale. Date le piccole dimensioni, il prezzo risulta un po’ elevato.
Voto complessivo: 8/10
Lettore: Principiante/Intermedio
Sommario
Introduction
Part 1 – Introduction to database development with Microsoft SQL Server 2005
3 - Chapter 1: Introduction to database development with Microsoft SQL Server 2005
15 - Chapter 2: Installing and Setting Up Your Microsoft SQL Server 2005 Development Environment
31 - Chapter 3: Reviewing Microsoft SQL Server 2005 Management Tools
Part 2 – How to Create a Microsoft SQL Server 2005 Database
73 - Chapter 4: Gathering and Understanding Business Requirements before Creating Database Objects
91 - Chapter 5: Design a Database to Solve Business Needs
Part 3 – How to query data from Microsoft SQL Server 2005
121 - Chapter 6: Reading Microsoft SQL Server 2005 Data from Client Applications
143 - Chapter 7: Selecting the Data You Need
179 - Chapter 8: Creating Views to Encapsulate Queries
191 - Chapter 9: Retrieving Data from Programmable Objects
Part 4 – How to Modify Data in Microsoft SQL Server 2005
221 - Chapter 10: Inserting Data in Microsoft SQL Server 2005
253 - Chapter 11: Deleting Data from Microsoft SQL Server 2005
273 - Chapter 12: Updating Data from Microsoft SQL Server 2005
297 - Index.