analisi-disegno.com
Quando si parla di modelli dati, si fa spesso riferimento a termini quali "concettuale", "logico" e "fisico". E spesso ci si confonde, in quanto questi termini significano cose diverse per persone diverse. O in strumenti diversi. Puntualizziamo:
Per la progettazione del livello fisico è essenziale una competenza specialistica, tipica di un progettista DB. Per la definizione dei modelli concettuale e logico iniziale, invece, è sufficiente la conoscenza di tecniche di modellazione basilari, che si basano sull'analisi del significato dei dati (Entity-Relationship, normalizzazione).
La tabella seguente sintetizza le differenze tra i livelli:
| Livello | Concettuale | Logico | Fisico |
| Conoscenza primaria necessaria | Significato dei dati | Significato dei dati | Caratteristiche DBMS |
| Ruolo del modello nei progetti | Preliminare | Intermedio | Prodotto finale |
| Ottimizzazioni (per performance, contenimento spazio ecc.) | Nessuna | Il modello logico iniziale è pienamente normalizzato, cioè privo di ridondanze. Può essere successivamente ottimizzato sulla base delle esigenze funzionali. | Quelle opportune per le esigenze funzionali |
| Legame con tecnologia DBMS | Nessuno | Medio | Elevato |
| Tecniche di progettazione primarie | Entity-Relationship | Entity-Relationship, normalizzazione | Ad hoc, mirate all'ottimizzazione degli accessi e degli spazi |
Il modello logico è l'input per la progettazione fisica dei Data Base, ed è opportuno che raggiunga il massimo livello di precisione possibile. (Naturalmente, il massimo livello di precisione possibile viene raggiunto progressivamente, nell'ambito di un progetto.) Un modello logico preciso comprende:
Il modello logico deve, cioè, contenere tutte le informazioni necessarie che non sono legate a competenze di natura tecnica, ma che derivano invece dalla conoscenza approfondita dell'ambito applicativo, e quindi del significato dei dati.
Il modello dati può essere costruito in modo "top-down" o "bottom up". Il risultato può essere identico, ma le modalità per arrivarci sono diverse.
Un modello è costruito in modo "top-down" se nasce in modo unitario, prescindendo da analisi preventive di porzioni del sistema ("subject area").
È invece costruito in modo "bottom up" se il modello finale è il frutto dell'aggregazione di più modelli settoriali.
Ad esempio, in un progetto che utilizza i casi d'uso per la specifica dei requisiti, il modello dei dati può essere costruito in due modi alternativi:
analisi-disegno.com , servizi e materiali per lo sviluppo dei sistemi software, a cura di Adriano Comai.