Articles

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 informativo 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 comunicare connessioni tra punti dati e strutture. L’obiettivo è quello di 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 suoi formati e attributi.

I modelli di dati sono costruiti attorno alle esigenze aziendali. Regole e requisiti sono definiti in anticipo attraverso il feedback degli stakeholder aziendali 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 aziendali dalle parti interessate e dagli utenti finali. Queste regole aziendali vengono quindi tradotte in strutture dati per formulare un progetto di database concreto. Un modello di dati può essere paragonato a una tabella di marcia, un progetto di un architetto o qualsiasi diagramma formale che facilita una comprensione più profonda di ciò che viene progettato.

La modellazione dei dati utilizza schemi standardizzati e tecniche formali. Ciò fornisce un modo comune, coerente e prevedibile di definire e gestire le risorse di dati in un’organizzazione o anche oltre.

Idealmente, i modelli di dati sono documenti viventi che si evolvono insieme alle mutevoli esigenze aziendali. 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 e/o colleghi del settore.

Tipi di modelli di dati

Come ogni processo di progettazione, la progettazione di database e sistemi informativi inizia ad un alto livello di astrazione e diventa sempre 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, passerà a un modello logico e si concluderà con un modello fisico. Ogni tipo di modello di dati è discusso in modo più dettagliato di seguito:

  • Modelli di dati concettuali. Essi sono anche indicati come modelli di dominio e offrono una visione d’insieme di ciò che il sistema conterrà, come sarà organizzato, e quali regole di business sono coinvolti. I modelli concettuali vengono solitamente creati come parte del processo di raccolta dei requisiti iniziali del progetto. In genere, includono classi di entità (che definiscono i tipi di elementi che sono importanti per l’azienda da rappresentare nel modello di dati), le loro caratteristiche e vincoli, le relazioni tra loro e i requisiti di sicurezza e integrità dei dati pertinenti. Qualsiasi notazione è in genere semplice.
    Diagramma di un modello di dati concettuale
  • Modelli di dati logici. Sono meno astratti e forniscono maggiori dettagli sui concetti e le relazioni nel dominio in esame. Viene seguito uno dei numerosi sistemi di notazione formale di modellazione dei dati. Questi 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 in ambienti di implementazione altamente procedurali o per progetti orientati ai dati per natura, come la progettazione di data warehouse o lo sviluppo di sistemi di reporting.
    Schema di un modello di dati logici
  • Modelli di dati fisici. Forniscono uno schema per come i dati verranno memorizzati fisicamente all’interno di un database. Come tali, sono il meno astratto di tutti. Offrono un design finalizzato che può essere implementato come database relazionale, incluse tabelle associative che illustrano le relazioni tra entità, nonché le chiavi primarie e le chiavi esterne che verranno utilizzate per mantenere tali relazioni. I modelli di dati fisici possono includere proprietà specifiche del database Management system (DBMS), inclusa l’ottimizzazione delle prestazioni.
    Diagramma di un modello di dati fisici

Processo di modellazione dei dati

Come disciplina, la modellazione dei dati invita gli stakeholder a valutare l’elaborazione e l’archiviazione dei dati nei minimi dettagli . Le tecniche di modellazione dei dati 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 flussi di lavoro formalizzati che includono una sequenza di attività da eseguire in modo iterativo. Questi flussi di lavoro generalmente assomigliano a questo:

  1. Identifica le entità. Il processo di modellazione dei dati inizia con l’identificazione delle cose, eventi o concetti che sono rappresentati nel set di dati che deve essere modellato. Ogni entità dovrebbe essere coesa e logicamente discreta da tutte le altre.
  2. Identifica le proprietà chiave di ciascuna entità. Ogni tipo di entità può essere differenziato da tutti gli altri perché ha una o più proprietà univoche, chiamate attributi. Ad esempio, un’entità chiamata “cliente” potrebbe possedere attributi come nome, cognome, numero di telefono e saluto, mentre un’entità chiamata “indirizzo” potrebbe includere un nome e un numero di strada, una città, uno stato, un paese e un 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 tale modello fosse ampliato per includere un’entità chiamata “ordini”, ogni ordine verrebbe spedito e fatturato a un indirizzo. Queste relazioni sono generalmente documentate tramite Unified Modeling Language (UML).
  4. Mappa attributi alle entità completamente. Ciò garantirà che il modello rifletta il modo in cui l’azienda utilizzerà i dati. Diversi modelli formali di modellazione dei dati sono in uso diffuso. Gli sviluppatori orientati agli oggetti spesso applicano modelli di analisi o modelli di progettazione, mentre le parti interessate di altri domini aziendali possono rivolgersi ad altri modelli.
  5. Assegna le chiavi secondo necessità e decidi un grado di normalizzazione che bilancia la necessità 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 loro senza ripetere i dati. Ad esempio, se ai clienti viene assegnata una chiave, tale chiave può essere collegata sia al loro indirizzo che alla cronologia 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ò a costo eseguire query sulle prestazioni.
  6. Finalizzare e convalidare il modello di dati. La modellazione dei dati è un processo iterativo che deve essere ripetuto e perfezionato man mano che le esigenze aziendali cambiano.

Tipi di modellazione dei dati

La modellazione dei dati si è evoluta insieme ai sistemi di gestione dei database, con i tipi di modello che aumentano di complessità man mano che le esigenze di archiviazione dei dati delle aziende sono cresciute. Qui ci sono diversi tipi di modello:

  • I modelli di dati gerarchici rappresentano relazioni uno-a-molti in un formato simile ad un albero. In questo tipo di modello, ogni record ha una singola radice o genitore che si associa a una o più tabelle figlio. Questo modello è stato implementato nell’IBM Information Management System (IMS), che è stato introdotto nel 1966 e ha rapidamente trovato un uso diffuso, specialmente nel settore bancario. Sebbene questo approccio sia meno efficiente rispetto ai modelli di database sviluppati di recente, è ancora utilizzato nei sistemi XML (Extensible Markup Language) e GISS (Geographic Information Systems).
  • I modelli di dati relazionali furono inizialmente proposti dal ricercatore IBM E. F. Codd nel 1970. Sono ancora implementati oggi nei diversi database relazionali comunemente utilizzati nell’informatica aziendale. La modellazione dei dati relazionali non richiede una comprensione dettagliata delle proprietà fisiche dell’archiviazione dei dati utilizzata. In esso, i segmenti di dati vengono uniti esplicitamente attraverso l’uso di tabelle, riducendo la complessità del database.

I database relazionali utilizzano frequentemente SQL (Structured Query Language) per la gestione dei dati. Questi database funzionano bene per mantenere l’integrità dei dati e ridurre al minimo la ridondanza. Sono spesso utilizzati nei sistemi point-of-sale, così come per altri tipi di elaborazione delle transazioni.

  • I modelli di dati ER (Entity-Relationship) utilizzano diagrammi formali per rappresentare le relazioni tra entità in un database. Diversi strumenti di modellazione ER vengono utilizzati dagli architetti di dati per creare mappe visive che trasmettono gli obiettivi di progettazione del database.
  • Modelli di dati Object-oriented guadagnato trazione come programmazione orientata agli oggetti e divenne popolare a metà degli anni 1990. 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 nei database multimediali e ipertestuali, nonché 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 enfatizzano l’archiviazione efficiente, i modelli dimensionali aumentano la ridondanza per facilitare l’individuazione delle informazioni per la segnalazione e il recupero. Questa modellazione viene in genere utilizzata nei sistemi OLAP.

Due modelli di dati dimensionali popolari sono lo schema a stella, in cui i dati sono organizzati in fatti (elementi misurabili) e dimensioni (informazioni di riferimento), dove ogni fatto è circondato dalle sue dimensioni associate in un modello simile a una stella. L’altro è lo schema del fiocco di neve, che assomiglia allo schema a stella ma include strati aggiuntivi di dimensioni associate, rendendo il modello di ramificazione più complesso.

Vantaggi della modellazione dei dati

La modellazione dei dati rende più semplice per sviluppatori, data architect, analisti aziendali e altre parti interessate 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.
  • Aumenta la coerenza nella documentazione e nella progettazione del sistema in tutta l’azienda.
  • Migliorare le prestazioni delle applicazioni e del database.
  • Facilita la mappatura dei dati in tutta l’organizzazione.
  • Migliora la comunicazione tra sviluppatori e team di business intelligence.
  • Facilita e velocizza il processo di progettazione di database a livello concettuale, logico e fisico.

Strumenti di modellazione dei dati

Oggi sono ampiamente utilizzate numerose soluzioni commerciali e open source computer-aided software engineering (CASE), tra cui più strumenti di modellazione dei dati, diagrammi e visualizzazione. Ecco alcuni esempi:

  • erwin Data Modeler è uno strumento di modellazione dei dati basato sul linguaggio di modellazione dei dati Integration Definition for Information modeling (IDEF1X) che ora supporta altre metodologie di notazione, incluso un approccio dimensionale.
  • Enterprise Architect è uno strumento di modellazione visiva e progettazione che supporta la modellazione di sistemi informativi aziendali e architetture, 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 sistemi di gestione di database più popolari di oggi. Supporta la modellazione dei dati sia relazionali che dimensionali.
  • Gli strumenti di modellazione dati gratuiti includono soluzioni open source come Open ModelSphere.

Data modeling e IBM Cloud

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

Oggi, IBM Cloud fornisce una piattaforma full stack che supporta un ricco portafoglio 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 blocchi di dati per ottimizzare le prestazioni e l’affidabilità.

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