Dagli stessi autori italiani (docenti in istituti tecnici) dei 3 volumetti sul .NET Framework (editi sempre dalla Mondadori Informatica) vede la luce questo altrettanto maneggevole libro sui fondamenti delle basi dati e sul linguaggio SQL in generale (ovvero non legato espressamente ad alcune implementazione commerciale).
Lo scopo è chiaro, fornire le basi, teoriche e anche un po' pratiche, su come si progetta e si sviluppa un database partendo dai requisiti di analisi. La prima parte (metà del libro) si occupa della pura analisi teorica utilizzando l'Object Role Modeling (ORM), una sorta di UML applicato ai database. Facendo largo uso di diagrammi e grafici gli autori spiegano quale è il modo migliore per progettare un database rispettando le teorie più rigorose (forme normali, ecc.). Questa parte, dato l'alto livello di analisi ed astrazione, interesserà maggiormente gli analisti, piuttosto che gli sviluppatori, i quali spesso non fanno un uso così approfondito dei linguaggio e delle tecniche di modellazione. Pur tuttavia, il tempo speso per progettare correttamente il database, verrà ripagato nella fase di sviluppo e soprattutto di manutenzione/gestione. Per questo motivo si può perdonare una certa prolissità nella trattazione di questi argomenti, quando magari il lettore vorrebbe subito passare alla fase operativa. Il linguaggio comunque è semplice e diretto, e gli esempi sono calzanti alla teoria illustrata. La suddivisione in tanti e brevi capitoli (un modo di fare che io preferisco) permette di gestirsi al meglio lo studio, in modo da assimilare i concetti per gradi.
Nella seconda parte, finalmente, si introduce il linguaggio SQL, utilizzando lo standard ANSI in modo da svincolarsi da dialetti commerciali. Gli esempi sono scritti utilizzando Access e SQL Server 2000, i due database più diffusi in ambiente Windows. Segnalo il breve ma interessante capitolo 16, dove viene tracciata la storia di questo campo di studi teorici di Codd del 1970 fino ai giorni nostri. La trattazione dedicata al linguaggio SQL è basata quasi esclusivamente su tutte le possibili varianti dell'istruzione Select, dai Join ai raggruppamenti, lasciando solo brevi cenni alla manipolazione dei dati e soprattutto sulle stored procedure. Un po' poco, ma d'altronde rispecchia l'obiettivo degli autori, ovvero di fornire delle basi che andranno poi approfondite in momenti e luoghi diversi.
L'impaginazione del testo è buona, anche se avrei preferito un carattere più piccolo e leggero (la lettura ne avrebbe giovato), e i refusi sono rarissimi, segno che le correzioni delle bozze non sono state prese sottogamba.
Chiudono il libro 5 brevi appendici sulle notazioni ORM di base (utilizzate nei discorsi della prima parte), un case study, la struttura dei database usati negli esempi, e sulle differenze tra Access e SQL Server.
Tutto sommato quindi un buon testo per fornire le basi, ma solo le basi, per iniziare ad occuparsi di database, ricordando che, malgrado nel titolo sia presente la parola "pratica", mancano tutti i concetti di come si gestisce e si ottimizza una qualsiasi implementazione di un database (questo deve essere chiaro).
Alla pagina http://education.mondadori.it/Libri/SchedaLibro.asp?IdLibro=88-04-54024-9 è possibile scaricarsi in formato pdf (e stampabile) il sommario e il capitolo 2, come anche tutti file Access e SQL Server per provare gli esempi del libro (circa 1,5 MB) e pure dei diagrammi Visio.
Pro
La maneggevolezza e la piuttosto approfondita parte dedicata alla modellazione delle basi dati sono le caratteristiche migliori di questo libro. Il tutto unito ad un prezzo davvero concorrenziale.
Contro
Chi si aspetta tecniche e procedure per partire subito mettendo mano al database resterà molto frustrato dalla prolissità di alcuni passaggi, soprattutto nella parte di analisi (la prima) e sulla sintassi base dell'istruzione Select. Come anche chi conosce già un po' l'argomento, prima o poi si stancherà di leggere le stesse semplici cose ripetute più volte. Il libro è per principianti, assoluti o quasi, e questo deve essere chiaro. La parte dedicata al linguaggio SQL è molto ridotta, e vengono introdotti solo i concetti essenziali (pur con spiegazioni molto lunghe), lasciando esclusi molti concetti importanti e necessari, dalle stored procedure alla gestione operativa di una database. L'indice analitico è stato troncato dopo la lettera P.
Voto complessivo: 6,5/10
Lettore: Principiante
Sommario
Prefazione
Introduzione
Parte 1 - I Database
3 - Cap. 1: I DBMS
9 - Cap. 2: Architettura dei sistemi di database
17 - Cap. 3: Modelli di accesso ai dati
19 - Cap. 4: Progettare un database
25 - Cap. 5: Tecniche di modellazione
29 - Cap. 6: Familiarizzazione e verbalizzazione
37 - Cap. 7: Simbolizzazione
53 - Cap. 8: Vincoli di base
79 - Cap. 9: Vincoli aggiuntivi
87 - Cap. 10: Il modello logico
101 - Cap. 11: Normalizzazione
109 - Cap. 12: I DBMS relazionali
115 - Cap. 13: Transazioni
119 - Cap. 14: Concorrenza e blocchi sui dati
127 - Cap. 15: Vincoli sui dati
Parte 2 - Il linguaggio SQL
135 - Cap. 16: Panoramica generale di SQL
143 - Cap. 17: Fondamenti di SQL; le query semplici
161 - Cap. 18: Espressioni e tipi di dati
205 - Cap. 19: Collegare tabelle parte 1; INNER JOIN
225 - Cap. 20: Collegare tabelle parte 2; OUTER JOIN
233 - Cap. 21: Subquery
245 - Cap. 22: Raggruppare i dati
257 - Cap. 23: Aggiornamento dati
269 - Cap. 24: Linguaggio di definizione dati: DDL
281 - Cap. 25: Le viste
289 - Cap. 26: Stored Procedure
Parte 3 - Appendici
A - Object Role Modeling vs. Entity Relationship
B - Simboli della notazione ORM
C - Case Study
D - Modello fisico dei database utilizzati negli esercizi
E - Standard SQL vs. SQL Server 2000 e Access
posted on giovedì 23 marzo 2006 11.05
by
Luigi Zambetti