Differenza tra modello di dati concettuale e modello di dati logico

In un’epoca come quella che stiamo vivendo, in cui c’è una sovrabbondanza di dati, un’eccellente progettazione di database è al centro di qualsiasi strategia efficace. Nella progettazione di un database ci sono dei passaggi cruciali da seguire, ognuno dei quali è essenziale al raggiungimento dell’obiettivo: un database che sia funzionale e fruibile. Occorre prima di tutto identificare gli oggetti (le entità) che appariranno nel database e le relazioni tra questi. Quindi si passa a una fase di dettaglio che rappresenta in modo astratto le relazioni tra i dati. Infine, occorre decidere come implementare effettivamente il database, scegliendo un particolare sistema implementandolo secondo le sue caratteristiche. Fondamentalmente si scende da un livello di astrazione alto, in cui si raccolgono e si rappresentano i requisiti aziendali, giù sino al livello di implementazione effettiva del proprio database.

 

In ogni passaggio, ciò che si fa è definire un modello di dati, passando dal modello concettuale fino al modello di dati fisico, con lo strato di dati logico come livello intermedio.

 

Il modello di dati concettuale

Il modello concettuale non si occupa di come verrà implementato il database reale. Funziona ad altissimo livello, traducendo i problemi del mondo reale e le esigenze aziendali in un quadro concettuale di facile comprensione e che per questo può essere comunicato anche ai non addetti ai lavori. Si concentra solo sull’identificazione delle entità che faranno parte del database e delle relazioni tra loro, il che significa le operazioni o le associazioni che esistono tra di loro. È molto efficace per comprendere e definire i processi aziendali dell’azienda. Quindi, se dovessimo tentare una definizione di modello di dati concettuale, potremmo dire che esso è una rappresentazione della struttura generale dei dati richiesta per ottemperare  ai requisiti aziendali (cioè supportare i processi aziendali, registrarne gli  eventi e tenere traccia delle prestazioni) che astrae da ogni sistema di gestione di database, struttura di archiviazione dei dati o software specifico.

 

Un modello di dati concettuale è necessario per ottenere una comprensione accurata dei tipi di dati che saranno disponibili e necessari, per giungere a un accordo tra le diverse unità aziendali su ciò che sarà necessario e per definire nomi, tipi di dati e caratteristiche di essi. È importante capire che quando si ha a che fare con un modello di dati concettuale si ha a che fare con oggetti a un livello di astrazione molto alto. 

Se ci riferiamo a un’auto si intenderà, ad esempio, l’oggetto del mondo reale «auto» e non la rappresentazione astratta di essa: un insieme di parti metalliche collegate in un certo modo. Questo implica che non tutto ciò che appare in un modello di dati concettuale può essere traducibile nel modello di dati fisico.

 

Il modello di dati logico

Il modello di dati logico è un approfondimento, ed è il primo passo per costruire l’effettiva architettura delle applicazioni. È ancora indipendente dal particolare sistema utilizzato (come un particolare sistema di gestione di database) ma partendo dal modello concettuale cerca di tradurre le viste di alto livello presenti in quest’ultimo in uno schema formale, astratto, aggiungendo un ulteriore livello di dettaglio al livello concettuale. Diversamente dal modello di dati concettuale, esso utilizza indici e chiavi esterne per rappresentare le relazioni tra i dati, comunque mantenuti indipendenti da una specifica implementazione del DBMS. Può essere considerato come un ponte tra il modello di dati concettuale (punto di vista aziendale) e il modello di dati fisico (punto di vista dello sviluppatore) e può essere utilizzato per verificare se l’effettiva implementazione soddisfa effettivamente i requisiti indicati nel modello concettuale.

La differenza tra il modello di dati concettuale e quello logico è dunque chiara. Il secondo è una rappresentazione astratta di una possibile implementazione, non vincolata ad alcuna implementazione specifica, mentre il primo è una rappresentazione di alto livello dei requisiti aziendali e dei set di dati e delle loro relazioni che vi sono espressi. Attraverso un processo di normalizzazione il modello logico fornisce una rappresentazione più strutturata delle entità e delle loro relazioni approfondendone le loro relazioni e caratteristiche: le ridondanze, le relazioni molti a molti, le ambiguità e le incertezze di attribuzione delle entità vengono risolte, facendo emergere una possibile implementazione del database.

Iscriviti alla nostra newsletter

Rimani aggiornato sulle ultime novità