Modellazione dei dati
sfondo nero e blu
Modellazione dei dati

Scopri come la modellazione dei dati utilizza l'astrazione per rappresentare e comprendere meglio la natura del flusso di dati all'interno di un sistema informatico aziendale


Cos'è la modellazione dei dati?

La modellazione dei dati è il processo di creazione di una rappresentazione visiva di un intero sistema informativo o di parti di esso per stabilire delle connessioni tra punti e strutture di dati. L'obiettivo è illustrare i tipi di dati utilizzati e memorizzati all'interno del sistema, le relazioni tra questi tipi di dati, i modi in cui i dati possono essere raggruppati e organizzati e i loro formati e attributi.

I modelli di dati sono costruiti intorno alle esigenze aziendali. Regole e requisiti sono definiti in anticipo attraverso il feedback delle parti aziendali interessate in modo che possano essere incorporati nella progettazione di un nuovo sistema o adattati nell'iterazione di uno esistente.

I dati possono essere modellati a vari livelli di astrazione. Il processo inizia raccogliendo informazioni sui requisiti di business dalle parti interessate e dagli utenti finali. Queste regole di business sono poi tradotte in strutture di dati per formulare un progetto di database concreto. Un modello di dati può essere paragonato a una roadmap, un progetto di un architetto o qualsiasi diagramma formale che faciliti una comprensione più profonda di ciò che viene progettato.

La modellazione dei dati impiega schemi standardizzati e tecniche formali. Questo fornisce un modo comune, coerente e prevedibile di definire e gestire le risorse di dati in tutta un'organizzazione e anche oltre.

Idealmente i modelli di dati sono documenti dinamici che si evolvono con il mutare delle esigenze aziendali. Giocano un ruolo importante nel supportare i processi di business e nel pianificare l'architettura e la strategia IT. I modelli di dati possono essere condivisi con fornitori, partner e/o colleghi del settore.


Tipi di modelli di dati

Come ogni processo di progettazione, la progettazione di database e sistemi informativi parte da un alto livello di astrazione e diventa via via più concreta e specifica. I modelli di dati possono essere generalmente divisi in tre categorie, che variano a seconda del loro grado di astrazione. Il processo inizierà con un modello concettuale, per poi continuare con un modello logico e concludersi con un modello fisico. Ogni tipo di modello di dati è discusso più dettagliatamente di seguito:

  • Modelli di dati concettuali. Sono anche chiamati modelli di dominio e offrono una visione d'insieme di ciò che il sistema conterrà, come sarà organizzato e quali regole di business sono coinvolte. I modelli concettuali sono solitamente creati durante il processo di raccolta dei requisiti iniziali del progetto. Tipicamente includono le classi di entità (che definiscono i tipi di entità rilevanti per il business da rappresentare nel modello di dati), le loro caratteristiche e vincoli, le relazioni tra loro e i relativi requisiti di sicurezza e integrità dei dati. Qualsiasi notazione è tipicamente semplice.

     

  • Modelli di dati logici. Sono meno astratti e forniscono maggiori dettagli sui concetti e le relazioni nel dominio in esame. Si segue uno dei vari sistemi di notazione formale per la modellazione dei dati. Questi indicano gli attributi dei dati, come i tipi di dati e le relative lunghezze, e mostrano le relazioni tra le entità. I modelli logici di dati non specificano alcun requisito tecnico di sistema. Questa fase è spesso omessa nelle pratiche agili o DevOps. I modelli di dati logici possono essere utili in ambienti di implementazione altamente procedurali, o per progetti che sono orientati ai dati per natura, come la progettazione di data warehouse o lo sviluppo di sistemi di reporting.

     

  • Modelli di dati fisici. Essi forniscono uno schema di come i dati saranno fisicamente immagazzinati in un database. Come tali, sono i meno astratti di tutti. Offrono un design finalizzato che può essere implementato come database relazionale, includendo tabelle associative che illustrano le relazioni tra le entità come, ad esempio, le chiavi primarie e le chiavi esterne che saranno usate per mantenere queste relazioni. I modelli di dati fisici possono includere proprietà specifiche del sistema di gestione del database (DBMS), incluso il tuning delle prestazioni.

Processo di modellazione dei dati

Come disciplina, la modellazione dei dati chiede alle parti interessate di valutare l'elaborazione e l'immagazzinamento dei dati nei minimi dettagli. Le tecniche di modellazione dei dati hanno diverse convenzioni che stabiliscono quali simboli sono usati per rappresentare i dati, come sono disposti i modelli e come sono trasmessi i requisiti di business. Tutti gli approcci prevedono flussi di lavoro formalizzati che includono una sequenza di compiti da eseguire in modo iterativo. Questi flussi di lavoro generalmente sono simili al seguente:

  1. Identificare le entità. Il processo di modellazione dei dati inizia con l'identificazione delle cose, degli eventi o dei concetti che sono rappresentati nell'insieme di dati da modellare. Ogni entità dovrebbe essere coerente e distinta logicamente da tutte le altre.
  2. Identificare le proprietà chiave di ogni entità. Ogni tipo di entità può essere distinto dagli altri per la presenza di una o più proprietà uniche, chiamate attributi. Per esempio, un'entità chiamata "cliente" potrebbe possedere attributi come nome, cognome e numero di telefono, mentre un'entità chiamata "indirizzo" potrebbe includere un nome di una strada ed un numero civico, una città, un codice postale e uno stato.
  3. Identificare le relazioni tra le entità. La prima bozza di un modello di dati specificherà la natura delle relazioni che ogni entità ha con le altre. Nell'esempio precedente, ogni cliente "vive in" un indirizzo. Se questo modello venisse ampliato per includere un'entità chiamata "ordini", ogni ordine verrebbe spedito e fatturato anche a un indirizzo. Queste relazioni sono di solito documentate tramite un linguaggio di modellazione unificato (UML - Unified Modeling Language).
  4. Associare completamente gli attributi alle entità. Questo garantirà che il modello rifletta come il business userà i dati. Attualmente sono in uso diversi modelli formali di modellazione dei dati. Gli sviluppatori orientati agli oggetti spesso applicano modelli di analisi o di progettazione, mentre coloro che sono coinvolti in altri settori possono rivolgersi ad altri modelli.
  5. Assegnare le chiavi in base alle necessità e decidere un grado di normalizzazione che compensi la necessità di ridurre la ridondanza con i requisiti di prestazione. La normalizzazione è una tecnica per organizzare i modelli di dati (e i database che rappresentano) in cui gli identificatori numerici, chiamati chiavi, sono assegnati a gruppi di dati per rappresentare le relative relazioni senza ripetere i dati. Per esempio, se a ciascun cliente viene assegnata una chiave, questa chiave può essere collegata sia al suo indirizzo che alla sua storia degli ordini senza dover ripetere queste informazioni nella tabella dei nomi dei clienti. La normalizzazione tende a ridurre la quantità di spazio di archiviazione richiesto da un database, ma può comportare una riduzione della performance delle query.
  6. Finalizzare e convalidare il modello dei dati. La modellazione dei dati è un processo iterativo che dovrebbe essere ripetuto e raffinato man mano che le esigenze del business cambiano.

Tipi di modellazione dei dati

La modellazione dei dati si è evoluta insieme ai sistemi di gestione dei database, con tipi di modelli che aumentano di complessità man mano che i bisogni di archiviazione dei dati delle aziende crescono. Di seguito sono riportati diversi tipi di modello:

  • I modelli di dati gerarchici rappresentano relazioni one-to-many in un formato ad albero. In questo tipo di modello, ogni record ha una singola radice o genitore che corrisponde a una o più tabelle figlie. Questo modello fu implementato nell'Information Management System (IMS) di IBM, che fu introdotto nel 1966 e trovò rapidamente un uso diffuso, specialmente nel settore bancario. Anche se questo approccio è meno efficiente dei modelli di database sviluppati più recentemente, è ancora usato nei sistemi Extensible Markup Language (XML) e nei geographic information system (GIS).
  • I modelli di dati relazionali furono proposti per la prima volta dal ricercatore IBM E.F. Codd nel 1970. Sono implementati ancora oggi nei diversi database relazionali comunemente usati nell'informatica aziendale. La modellazione dei dati relazionali non richiede una comprensione dettagliata delle proprietà fisiche dell'archiviazione dei dati utilizzata. In essa, i segmenti di dati sono esplicitamente uniti attraverso l'uso di tabelle, riducendo la complessità del database.

I database relazionali utilizzano spesso un linguaggio di interrogazione strutturato (SQL - Structured Query Language) per la gestione dei dati. Questi database vanno bene per mantenere l'integrità dei dati e minimizzare la ridondanza. Sono spesso utilizzati nei sistemi di punti vendita, così come per altri tipi di elaborazione delle transazioni.

  • I modelli di dati entità-relazione (ER) usano diagrammi formali per rappresentare le relazioni tra entità in un database. Diversi strumenti di modellazione ER sono usati dai data architect per creare mappe visive che mostrano gli obiettivi di progettazione del database.
  • I modelli di dati orientati agli oggetti hanno preso piede come la programmazione orientata agli oggetti e sono diventati popolari a metà degli anni 90. Gli "oggetti" coinvolti sono astrazioni di entità del mondo reale. Gli oggetti sono raggruppati in gerarchie di classi e hanno caratteristiche associate. I database orientati agli oggetti possono incorporare tabelle, ma possono anche supportare relazioni di dati più complesse. Questo approccio è impiegato in database multimediali e ipertestuali, così come in altri casi d'uso.
  • I modelli di dati dimensionali sono stati sviluppati da Ralph Kimball e sono stati progettati per ottimizzare la velocità di recupero dei dati per scopi analitici in un data warehouse. Mentre i modelli relazionali e ER puntano su un'archiviazione efficiente, i modelli dimensionali aumentano la ridondanza per rendere più facile localizzare le informazioni per il reporting e il recupero. Questo tipo di modellazione è solitamente utilizzata nei sistemi OLAP .

Tra i modelli di dati dimensionali più diffusi c'è lo schema a stella, in cui i dati sono organizzati in fatti (elementi misurabili) e dimensioni (informazioni di riferimento), dove ogni fatto è circondato dalle relative dimensioni associate in una struttura a stella. L'altro è lo schema snowflake, che assomiglia allo schema a stella ma include ulteriori strati di dimensioni associate, rendendo il modello di ramificazione più complesso.


Vantaggi della modellazione dei dati

La modellazione dei dati rende più facile per gli sviluppatori, i data architect, gli analisti di business e altre parti interessate visualizzare e capire le relazioni tra i dati in un database o un data warehouse. In aggiunta può:

  • Ridurre gli errori nello sviluppo di software e database.
  • Aumentare la coerenza nella documentazione e nella progettazione del sistema in tutta l'azienda.
  • Migliorare le prestazioni dell'applicazione e del database.
  • Facilitare la mappatura dei dati in tutta l'organizzazione.
  • Migliorare la comunicazione tra gli sviluppatori e i team di business intelligence.
  • Facilitare e velocizzare il processo di progettazione di database a livello concettuale, logico e fisico.

Strumenti per la modellazione dei dati

Oggigiorno esistono numerose soluzioni commerciali e open source per l'ingegneria del software assistita dal computer (CASE - computer-aided software engineering), tra cui diversi strumenti per la modellazione dei dati, la creazione di diagrammi e la visualizzazione. Ecco alcuni esempi:

  • erwin Data Modeler è uno strumento di modellazione dei dati basato sul linguaggio di modellazione dei dati IDEF1X (Integration DEFinition for information modeling) che ora supporta altre metodologie di notazione, incluso un approccio dimensionale.
  • Enterprise Architect è uno strumento di modellazione e progettazione visiva che supporta la modellazione di sistemi informativi e architetture aziendali, nonché applicazioni software e database. Si basa su linguaggi e standard orientati agli oggetti.
  • ER/Studio è un software di progettazione di database che è compatibile con molti dei più popolari sistemi di gestione di database di oggi. Supporta sia la modellazione di dati relazionali che dimensionali.
  • Gli strumenti gratuiti di modellazione dei dati includono soluzioni open source come Open ModelSphere.

Modellazione dei dati e IBM Cloud

I ricercatori IBM sono stati tra i pionieri che hanno creato i primi modelli di dati gerarchici e relazionali e hanno anche progettato i database dove tali modelli sono stati inizialmente implementati.

Oggi IBM Cloud fornisce una piattaforma full stack che supporta un ricco portfolio di database SQL e NoSQL, insieme agli strumenti di sviluppo necessari per gestire le risorse di dati al loro interno in modo efficiente. IBM Cloud supporta anche strumenti open source che aiutano gli sviluppatori a gestire l'archiviazione di oggetti, file e dati a blocchi per ottimizzare prestazioni e affidabilità.

Vuoi saperne di più sulla modellazione dei dati su IBM Cloud? Registrati per un IBMid e crea il tuo account IBM Cloud gratuito oggi stesso.


Soluzioni correlate

Data warehouse

Un data warehouse su cloud completamente gestito ed elastico, creato per analytics a AI ad alte prestazioni


Soluzioni IBM Cloud

Ibrido. Aperto. Resiliente. La tua piattaforma e partner per la trasformazione digitale.


Soluzioni Cloud Pak

Software cloud ibrido con tecnologia IA.