Data Modeling Essentials recensione del libro a cura di Gianluca Torta
Titolo: Data Modeling Essentials - seconda edizione, 2001
Autori: Graeme C. Simsion con la collaborazione di Graham C. Witt Editore: Coriolis
ISBN: 1-57610-872-4
Prezzo: 49.99 USD
Pagine: 460 pp
Lingua: inglese.
Rilegatura: brossura.
Esiste una letteratura sterminata sui database e loro applicazioni, ma il contenuto di questo libro riesce lo stesso particolarmente interessante.
Al contrario di molti altri testi esso non è incentrato sulla teoria matematica relazionale o la architettura di complessi sistemi RDBMS, bensì sull'arte della progettazione logica di basi di dati.
L'autore Graeme Simsion, così come Graham Witt che ha contribuito significativamente a questa edizione, è soprattutto un esperto professionista, che ha gestito con successo numerosi progetti di modellazione dati per sistemi informativi commerciali nel corso della sua carriera. I frutti di questa esperienza in termini di metodologie, tecniche e idiomi permeano ogni capitolo del libro, anche quelli che espongono brevemente i fondamenti teorici.
L'approccio è dunque pragmatico ma sempre estremamente rigoroso, e nessuna fase del processo di progettazione viene banalizzata o considerata superficialmente.
Il testo si compone di due parti, che trattano rispettivamente aspetti di base ed avanzati.
Nel primo capitolo viene chiaramente presentata la visione dell'autore: il data-modeling è una fase cruciale della progettazione di ogni sistema informativo, e, al fine di completare il lavoro con successo, è necessario affrontarla approfonditamente molto presto nel ciclo di sviluppo.
La stessa struttura funzionale (quali servizi offre il sistema?) può essere vista come meno basilare della struttura logica dei dati, e assai meno stabile (nuovi servizi e migliorie a quelli esistenti verranno richiesti).
L'applicazione di diverse metodologie e pattern, sottolinea Simsion, distinguono le soluzioni di un esperto da quelle di un principiante, ma anche la creatività e la capacità di identificare le caratteristiche peculiari del sistema in esame giocano un ruolo fondamentale, rendendo il data-modeling un'attività sempre difficile e stimolante.
Dopo la doverosa introduzione di Normalizzazione e approccio Entità-Relazione nei capitoli secondo e terzo, il quarto affronta in modo estremamente approfondito e completo il problema del Supertyping/Subtyping nella scelta delle entità: per esempio, si modellerà l'entità Persona o le due entità-sottotipo Uomo e Donna? Moltissime sottigliezze sono evidenziate, con un suggerimento finale: esercitare la creatività modellando la base dati a diversi livelli di astrazione, scegliendone poi uno per l'implementazione, ma conservando gli altri a livello di documentazione del sistema e giustificazione delle scelte fatte.
Un altro capitolo prezioso è il sesto, dove l'attività di data-modeling è analizzata come processo composto dalle fasi della raccolta di informazioni, della realizzazione iterativa di prototipi, del testing e della manutenzione.
I capitoli della seconda parte affrontano problematiche decisamente sottili e complesse.
Particolarmente interessanti sono l'approfondimento degli usi dei vari tipi di Relazioni (one-to-one, auto-referenziali, non trasferibili e fra tre o più entità), della scelta delle chiavi primarie (semplici, strutturate, generate automaticamente), della definizione degli attributi (i campi delle tabelle relazionali) e della modellazione della dimensione temporale.
Gli ultimi capitoli, infine, entrano nel cuore dei problemi applicativi, trattando la codifica di Business Rules nella base dati, la modellazione di Data Warehouse e Data Mart (distribuzione dei dati "all'ingrosso" e "al minuto") e la creazione di macro-modelli di gestione dati nell'ambito di grandi corporation.
Per le sue caratteristiche elencate sopra questo libro si rivolge innanzitutto a coloro che svolgono
attività di design di basi di dati anche di grandi dimensioni e complessità, esponendo i contenuti con chiarezza, pragmaticità e concisione e stimolando riflessioni e critiche non banali alle proprie pratiche di design.
Non va dimenticato, comunque, che è stato anche adottato come libro di testo per corsi accademici di database; pensiamo che la profondità e originalità di molti dei concetti esposti e la organicità della esposizione lo giustifichino pienamente.
Ordinalo direttamente alla casa editrice.
|