Bit a bit, si cresce sempre


Blog di un ingeformatico
Statistiche
  • Views Home Page: 489.509
  • Views Posts: 1.566.142
  • Views Gallerie: 738.816
  • n° Posts: 520
  • n° Commenti: 301
Ora e Data
Archivio Posts
Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Recensione libro: Learning SQL on SQL Server 2005




Questo libro contiene il materiale di un corso su SQL tenuto dagli autori in una facoltà di “Computer Science” di una università americana. L’SQL insegnato si basa sul T-SQL, il dialetto del SQL Ansi della Microsoft e presente in SQL Server 2005 (a parte rare sfumature, comunque, è adatto anche ad un pubblico più ampio e che utilizza altri database).
Dopo il primo capitolo, che tratta con largo uso di immagini, il SQL Server Management Studio (il principale ambiente su cui si andrà ad operare), si passa ad analizzare le varie funzionalità del linguaggio T-SQL. Nel secondo capitolo, ove vengono illustrati i tipi di dato, molto interessante risulta il confronto con gli analoghi presenti in Oracle. Il database di utilizzo (tranne rari casi) è lo “Student_course”, creato e popolato con il file di script (28 KB) scaricabile dal sito della casa editrice. Consiglio di prendere prima un po’ di confidenza con la struttura di questo database, dato che i nomi delle tabelle, dei campi, ed anche la gestione dei corsi in un istituto statunitense, non sono di immediata comprensione. Si prosegue poi con l’esposizione dei vari tipi di Join, mentre il lungo quinto capitolo è interamente dedicato alla funzioni intrinseche di SQL Server. I restanti capitoli – tranne l’ultimo – analizzano, molto in profondità, le subquery e aggregazioni varie, con tutti i predicati che le compongono (NOT IN, EXISTS, ecc.). L’ampiezza dedicata all’argomento, e la trattazione di praticamente tutti i casi disponibili, ne fanno una fonte tra le più complete che mi è capitato di osservare in libri sul medesimo argomento. Consiglio poi di non trascurare l’ultimo capitolo; tratta in maniera completa e veramente chiara la gestione dei vari tipi di indici e vincoli in SQL Server 2005. Per la loro gestione (creazione/modifica) non viene utilizzato il Management Studio ma viene fatto tutto via codice T-SQL (e questa è un buona cosa).
Al termine del testo sono presenti quattro brevi appendici. La prima spiega come è strutturato il database di esempio utilizzato (consiglio di leggerla – sono solo 3 pagine – ancora prima di iniziare il primo capitolo); la seconda riporta integralmente lo script per la creazione e il popolamento del suddetto database (è il file .sql che si scarica dal sito); la terza è un sintetico glossario dei termini, mentre l’ultima riporta (con una breve descrizione) il significato delle più usate funzioni e comandi di SQL Server.
Al termine di ogni capitolo, invece, è presente una pletora di domande ed esercizi vari, senza però la relativa soluzione, nemmeno scaricabile dal web. Non trovo molto utili questo tipo di verifiche, dato che non sapendo la soluzione corretta si perde molto della loro efficacia. 
La struttura didattica utilizzata del testo è eccellente. È sorprendente vedere la facilità di esposizione di questi due autori, come riescano, con poche parole, a dire tutto il necessario che serve per coprire al massimo un argomento, mettendo gli esempi dove servono, e con la difficoltà (o facilità) perfettamente aderente al contesto.
La cura nella realizzazione è altresì ottima. In tutto il libro ho notato un solo refuso, la mancanza della lettera terminale di un nome in un esempio (e questo la dice lunga sulla bontà della correzione delle bozze).

Viene da pensare, a questo punto, che il fatto che gli autori si siano fermati alla realizzazione di questo libro introduttivo e non si siano dedicati ad altri testi più avanzati, sia un peccato. 
L’inglese utilizzato è comprensibile, senza l’uso di slang o espressioni dialettali.
Sono da segnalare, comunque, anche aspetti meno positivi. Molte innovazioni introdotte nella versione 2005 di SQL Server non vengono minimamente accennate (ad es, le CTE, le numerazione dei resulset e così via).
Inoltre la scelta degli argomenti operata dagli autori è veramente “base”; argomenti quali le stored procedure, le funzioni definite dall’utente (UDF) e i trigger non vengono per niente trattati, quando invece, anche se senza trattazioni approfonditissime, servirebbero anche in questa tipologia di libri (per principianti). 

Alla pagina http://www.oreilly.com/catalog/learnsqlsvr05/index.html#top è possibile trovare la scheda dettagliata del libro, compreso il file sql contenente il codice degli esempi (solo 28 KB), e una sezione Errata, per ora ancora vuota. Non è però presente (purtroppo) nessun pdf scaricabile (nemmeno il sommario).
Per il file degli esempi, consiglio di aprirlo dal web e copiare ed incollare il contenuto in file .txt vuoto, dato che scaricandolo direttamente dal link, da’ qualche problema di formattazione e contiene caratteri strani o non riconosciuti. Una curiosità: questo libro viene utilizzato nei college americani come introduzione ai database e al linguaggio T-SQL, per corsi della durata di un semestre, e ogni capitolo occupa una settimana di lezioni (compresi però i numerosi esercizi). 

 


Pro
Ottima esposizione didattica degli argomenti, con un linguaggio scorrevolissimo e mai noioso. Numerosi esempi funzionanti rendono subito applicabile la teoria appresa. Utile i raffronti con Oracle disseminati lungo tutto il testo. Ottima l’impaginazione e la scelta dei caratteri (stile e grandezza), come anche la rilegatura. La dimensione compatta e la flessibilità lo rendono usufruibile anche in movimento (treno o metropolitana, ad esempio).  

Contro
Qualche imprecisione (come quando si afferma che un campo “bit” non può avere valori nulli – il che non è vero. Come non è vero che la INTO è necessaria nell’istruzione INSERT), e qualche dimenticanza (come il nuovo tipo di dato “varchar(max)”, e il “timestamp” – non menzionati). Non sono presenti, nemmeno scaricabili a parte dal sito, le soluzioni delle domande e degli esercizi di fine capitolo. 

Voto complessivo: 8/10
Livello: Principiante
 


Summary
Preface

1 - Cap. 1-  Basics of setting up SQL Server 2005
26 - Cap. 2 - Basic SQL commands
58 - Cap. 3 - Creating, altering, populating tables
82 - Cap. 4 - Joins
105 - Cap. 5 - Functions
150 - Cap. 6 - Developing queries
178 - Cap. 7 - Set Operations
208 - Cap. 8 - Joins versus Subqueries
222 - Cap. 9 - Aggregation
242 - Cap. 10 - Correlated Subqueries
265 - Cap. 11 - Indexes and Constraints

292 - Appendix A: The Student Database and Other Tables Used in This Book
295 - Appendix B: Script Used to Create the Student_course Database
307 - Glossary of Terms
311 - Important Commands and Functions
317 - Index

Titolo:  Learning SQL on SQL Server 2005
Autori:   Sikha Saha Bagui, Richard Walsh Earp
Editore:  O’Reilly
ISBN: 0-596-10215-1
Pagine: 342
Prezzo: 29,69 $ (su Amazon)
Data di uscita: Apr. 2006



Categoria: Books
martedì, 28 nov 2006 Ore. 13.57

Messaggi collegati


Meteo
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003