Power the agentic enterprise Guarda il keynote di Think

Che cos'è il data modeling?

Che cos'è il data modeling?

Il data modeling è il processo di creazione di una rappresentazione visiva di un intero sistema informativo o di parti di esso per comunicare le connessioni tra punti e strutture di dati.

L'obiettivo del data modeling è quello di illustrare i tipi di dati utilizzati e memorizzati all'interno del sistema e le relazioni tra questi tipi di dati. Descrive anche i modi in cui i dati possono essere raggruppati e organizzati, insieme ai loro formati e attributi.

I modelli di dati sono costruiti in base alle esigenze aziendali. Le regole e i requisiti sono definiti in anticipo tramite feedback degli stakeholder aziendali, così da poter 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 con la raccolta di informazioni sui requisiti aziendali da stakeholder e utenti finali. Queste business rules vengono poi tradotte in strutture di dati per formulare un progetto di database concreto. Un modello di dati può essere paragonato a una roadmap, a un blueprint o a qualsiasi diagramma formale che faciliti una comprensione più approfondita di ciò che si sta progettando.

Il data modeling impiega schemi standardizzati e tecniche formali. Questo approccio offre un modo comune, coerente e prevedibile di definire e gestire le risorse dati all'interno di un'organizzazione, o anche oltre.

Idealmente, i modelli di dati sono documenti “vivi” che evolvono insieme alle esigenze aziendali in continua evoluzione. Svolgono un ruolo importante nel supportare i processi aziendali e pianificare l'architettura e la strategia IT. I modelli di dati possono essere condivisi con fornitori, partner o colleghi del settore.

Tipi di modelli di dati

Come ogni processo di progettazione, la progettazione di database e sistemi informativi inizia da un alto livello di astrazione e diventa più concreta e specifica. I modelli di dati possono generalmente essere suddivisi in tre categorie, che variano in base al loro grado di astrazione. Il processo inizierà con un modello concettuale, progredirà verso un modello logico e si concluderà con un modello fisico. Ogni tipo di modello di dati viene discusso in modo più dettagliato nelle sezioni successive:

Modelli di dati concettuali

Vengono anche chiamati modelli di dominio e offrono una visione di alto livello di ciò che il sistema conterrà, di come sarà organizzato e di quali business rules sono coinvolte. I modelli concettuali vengono creati come parte del processo di raccolta dei requisiti iniziali del progetto.

Tipicamente, includono classi di entità (che definiscono i tipi di elementi importanti che l’azienda deve rappresentare nel modello di dati), le loro caratteristiche e i vincoli, e le relazioni tra di esse. Comprendono anche i requisiti pertinenti di sicurezza e integrità dei dati. Questi elementi definiscono collettivamente come i dati sono strutturati e governati all'interno del modello. Qualsiasi notazione è tipicamente semplice.

Grafico di data modeling concettuale

Modelli di dati logici

Sono meno astratti e forniscono maggiori dettagli sui concetti e le relazioni nel dominio in esame. Si segue uno dei diversi sistemi di notazione formale di data modeling. Queste notazioni indicano gli attributi dei dati, come i tipi di dati e le loro lunghezze corrispondenti, e mostrano le relazioni tra le entità.

I modelli di dati logici non specificano alcun requisito tecnico di sistema. Questa fase viene spesso omessa nelle pratiche Agile o DevOps. I modelli di dati logici possono essere utili negli ambienti di implementazione altamente procedurali o per progetti di natura orientati ai dati, come la progettazione di data warehouse o lo sviluppo di sistemi di reportistica.

Grafico di data modeling logico

Modelli di dati fisici

Forniscono uno schema su come i dati saranno fisicamente memorizzati all'interno di un database. Pertanto, sono i meno astratti. Offrono un design finalizzato che può essere implementato come database relazionale, comprese tabelle associative che illustrano le relazioni tra le entità. Il design specifica anche le chiavi primarie e le chiavi esterne che verranno utilizzate per mantenere tali relazioni. I modelli di dati fisici possono includere proprietà specifiche del sistema di gestione del database (DBMS), inclusa la regolazione delle prestazioni.

Grafico di data modeling fisico

Processo di data modeling

Come disciplina, il data modeling invita gli stakeholder a valutare il trattamento e l'archiviazione dei dati nei minimi dettagli. Le tecniche di data modeling hanno convenzioni diverse che determinano quali simboli vengono utilizzati per rappresentare i dati, come vengono disposti i modelli e come vengono trasmessi i requisiti aziendali. Tutti gli approcci forniscono workflow formalizzati che includono una sequenza di attività da eseguire in modo iterativo. Generalmente, questi workflow si presentano così:

  1. Identifica le entità. Il processo di data modeling inizia con l'identificazione delle cose, degli eventi o dei concetti rappresentati nel set di dati che deve essere modellato. Ogni entità dovrebbe essere coesa e logicamente distinta da tutte le altre.
  2. Identifica le proprietà chiave di ogni entità. Ogni tipo di entità può essere differenziato da tutti gli altri perché ha una o più proprietà uniche, chiamate attributi. Per esempio, un'entità chiamata "cliente" potrebbe possedere attributi come nome, cognome, numero di telefono e forma di cortesia. Un'entità chiamata "indirizzo" potrebbe includere il nome e il numero della strada, la città, la regione, la nazione e il codice postale.
  3. Identifica le relazioni tra entità. La prima bozza di un modello di dati specificherà la natura delle relazioni che ciascuna entità ha con le altre. Nell'esempio precedente, ogni cliente "vive a" un indirizzo. Se quel modello viene esteso per includere un'entità chiamata "ordini", ogni ordine verrà spedito e fatturato a un indirizzo. Queste relazioni sono documentate attraverso il linguaggio di modellazione unificato (UML).
  4. Mappa completamente gli attributi alle entità. Questo approccio garantisce che il modello rifletta come l'azienda utilizzerà i dati. Diversi pattern formali di modellazione dei dati sono ampiamente utilizzati. Gli sviluppatori orientati agli oggetti spesso applicano pattern di analisi o pattern di progettazione, mentre gli stakeholder di altri domini aziendali possono fare riferimento ad altri pattern.
  5. Assegna le chiavi quando necessario e decidi un livello di normalizzazione che bilanci l’esigenza di ridurre la ridondanza con i requisiti di prestazioni. La normalizzazione è una tecnica per organizzare i modelli di dati (e i database che rappresentano) in cui gli identificatori numerici, chiamati chiavi, vengono assegnati a gruppi di dati per rappresentare le relazioni tra di essi senza ripetere i dati. Ad esempio, se a ciascuno dei clienti viene assegnata una chiave, questa chiave può essere collegata sia all'indirizzo del cliente che alla cronologia degli ordini senza dover ripetere queste informazioni nella tabella dei nomi dei clienti. La normalizzazione riduce la quantità di storage richiesta da un database, ma può andare a scapito delle prestazioni delle query.
  6. Finalizza e convalida il modello di dati. Il data modeling è un processo iterativo che deve essere ripetuto e perfezionato man mano che le esigenze aziendali cambiano.
AI Academy

È la gestione dei dati il segreto dell’AI generativa?

Scopri perché i dati di alta qualità sono fondamentali per un uso efficace dell'AI generativa.

Tipi di data modeling

Il data modeling si è evoluto insieme ai sistemi di gestione dei database, con tipi di modelli diventati sempre più complessi via via che sono cresciute le esigenze delle aziende in termini di data storage. Ecco diversi tipi di modello:

  • I modelli di dati gerarchici rappresentano le relazioni uno-a-molti in un formato ad albero. In questo tipo di modello, ogni record ha una singola radice o un singolo elemento padre, che si collega a una o più tabelle figlie. Questo modello fu implementato nell'IBM Information Management System (IMS), introdotto nel 1966 e rapidamente diffuso, specialmente nel settore bancario. Sebbene questo approccio sia meno efficiente rispetto ai modelli di database sviluppati più di recente, è ancora utilizzato nei sistemi basati su Extensible Markup Language (XML) e nei sistemi informativi geografici (GIS).
  • I modelli di dati relazionali furono inizialmente proposti dal ricercatore di IBM E.F. Codd nel 1970. Sono ancora oggi implementati nei diversi database relazionali comunemente utilizzati nell'informatica aziendale. Il data modeling relazionale non richiede una comprensione dettagliata delle proprietà fisiche del data storage utilizzato. In esso, i segmenti di dati sono esplicitamente collegati tramite tabelle, riducendo la complessità del database.

I database relazionali utilizzano spesso un linguaggio di query strutturato (SQL) per la gestione dei dati. Questi database funzionano bene per mantenere l'integrità dei dati e ridurre la ridondanza. Vengono spesso utilizzati nei sistemi point-of-sale (POS), così come in altri tipi di elaborazione delle transazioni.

  • I modelli di dati entità-relazione (ER) utilizzano diagrammi formali per rappresentare le relazioni tra le entità in un database. I data architect utilizzano diversi strumenti di modellazione ER per creare mappe visive che trasmettono gli obiettivi di progettazione del database.
  • I modelli di dati orientati agli oggetti si sono affermati con la programmazione orientata agli oggetti e sono diventati popolari a metà degli anni Novanta. 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 viene utilizzato nei database multimediali e ipertestuali e in altri casi d'uso.
  • I modelli di dati dimensionali furono sviluppati da Ralph Kimball e sono stati progettati per ottimizzare la velocità di recupero dei dati a fini analitici in un data warehouse. Mentre i modelli relazionali ed ER enfatizzano lo storage efficiente, i modelli dimensionali aumentano la ridondanza per rendere più semplice la ricerca delle informazioni per la reportistica e il recupero dei dati. Questa modellazione viene in genere utilizzata nei sistemi OLAP.

Due modelli di dati dimensionali comuni sono lo schema a stella, in cui i dati sono organizzati in fatti (elementi misurabili) e dimensioni (informazioni di riferimento). In questo modello, ogni fatto è circondato dalle dimensioni a esso associate, secondo uno schema a stella. L'altro è lo schema a fiocco di neve, che somiglia allo schema a stella ma include altri livelli di dimensioni associate, rendendo il pattern di ramificazione più complesso.

Benefici del data modeling

Il data modeling rende più facile per sviluppatori, data architect, analisti aziendali e altri stakeholder visualizzare e comprendere le relazioni tra i dati in un database o data warehouse. Inoltre, può:

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

Strumenti di data modeling

Oggi ci sono numerose soluzioni commerciali e open source di ingegneria software assistita dal computer (CASE) che sono ampiamente utilizzate, inclusi molteplici strumenti di data modeling, diagrammatizzazione e visualizzazione. Ecco alcuni esempi:

  • erwin Data Modeler è uno strumento di data modeling basato sul linguaggio di data modeling IDEF1X (Integration DEFinition for Information Modeling) che ora supporta altre metodologie di notazione, tra cui un approccio dimensionale.
  • Enterprise Architect è uno strumento di modellazione e progettazione visiva che supporta la modellazione di sistemi informativi e architetture aziendali, nonché di applicazioni software e database. Si basa su linguaggi e standard orientati agli oggetti.
  • ER/Studio è un software di progettazione di database compatibile con molti dei sistemi di gestione di database più diffusi. Supporta sia il data modeling relazionale che quello dimensionale.
  • Gli strumenti gratuiti di data modeling includono soluzioni open source come Open ModelSphere.
Rendering 3D di una spirale di diverse icone allineate, come una fotocamera, una manopola del volume e una lavagnetta
Soluzioni correlate
Strumenti e soluzioni di data science

Usa strumenti e soluzioni di data science per scoprire modelli e creare previsioni utilizzando dati, algoritmi, tecniche di machine learning e AI.

Esplora le soluzioni di data science
IBM Cognos Analytics

Introduzione a Cognos Analytics 12.0, insight basati sull'AI per prendere decisioni migliori.

Esplora Cognos Analytics
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
Fasi successive

Usa strumenti e soluzioni di data science per scoprire modelli e creare previsioni utilizzando dati, algoritmi, tecniche di machine learning e AI.

  1. Esplora le soluzioni di data science
  2. Esplora i servizi di analytics