La strategia top-down nel progetto della base dati
La strategia top-down è un approccio alla progettazione concettuale della base dati dal generale al particolare.
Il processo di progettazione comincia da concetti molto astratti e generali.
Nel corso del progetto i singoli concetti sono approfonditi e arricchiti con i dettagli.
Come funziona
Il progetto è suddiviso in varie fasi.
A ogni fase corrisponde uno schema concettuale della base dati con un particolare livello di dettaglio.
Gli schemi concettuali di livelli contigui sono collegati tra loro da formule di trasformazione dette primitive di trasformazione top-down.
Un esempio pratico
Nello schema iniziale sono definite le entità Studenti e Corsi con la relazione Iscrizione.
Nello schema successivo l'entità Persone è arricchita con gli attributi Matricola, Cognome, Nome mentre l'entità Corsi con gli attributi Codice e Nome.
La relazione Iscrizione è raffinata con l'attributo Data.
Nota. Un altro esempio è la scomposizione di una relazione in due relazioni distinte o l'aggiunta di una generalizzazione tra due entità inizialmente autonome ma collegate tra loro (es. direttori e dipendenti).
Pro e contro della progettazione top down
Questo approccio ingegneristico a vantaggi e svantaggi.
Quali sono i vantaggi?
Posso redigere in breve tempo il progetto concettuale della base dati senza preoccuparmi dei dettagli descrivendolo in modo astratto e generale.
In questo modo ho subito una visione generale delle componenti dell'intero sistema.
Poi, in una fase successiva, aggiungo i dettagli lavorando sulle singole componenti dello schema.
Se l'applicazione è semplice, è la via progettuale migliore da seguire.
Quali sono gli svantaggi?
Non sempre è facile avere una visione generale del sistema all'inizio del progetto.
Se le applicazioni sono molto complesse, i dettagli possono influenzare sensibilmente lo schema concettuale del sistema.
In questi casi non è facile lavorare sulle singole componenti del sistema, perché un dettaglio potrebbe implicare delle modifiche importanti anche sulle altri componenti già viste.
Nel caso peggiore, un dettaglio potrebbe costringermi a rivedere l'intero schema generale del sistema.
E così via.