Cos’è la modellazione dei dati?

La modellazione dei dati è il processo di produzione di un diagramma (cioè ERD) delle relazioni tra vari tipi di informazioni che devono essere memorizzate in un database che ci aiuta a pensare sistematicamente ai punti chiave dei dati da memorizzare e recuperare, e come dovrebbero essere raggruppati e correlati, è ciò che il

Un modello di dati descrive le informazioni in un modo sistematico che permette di memorizzarle e recuperarle in modo efficiente in un sistema di database relazionale che può essere pensato come un modo di tradurre la logica di descrivere accuratamente le cose nel mondo reale e le relazioni tra esse in regole che possono essere seguite e applicate dal codice del computer. Uno degli obiettivi della modellazione dei dati è quello di creare il metodo più efficiente per immagazzinare le informazioni e allo stesso tempo fornire un accesso completo e un reporting.

Entity Relationship Diagram for Data Modeling

Un Entity Relationship Diagram (ERD), inizialmente proposto da Peter Chen nel 1976, è una rappresentazione visiva della modellazione dei dati usando simboli e notazioni che descrivono come questi dati sono collegati tra loro. Può essere usato direttamente dagli sviluppatori di database come modello per implementare i dati in specifiche applicazioni software. Qualsiasi oggetto, come entità, attributi di un’entità, set di relazioni e altri attributi di relazione possono essere caratterizzati con l’aiuto del diagramma ER.

Un ERD permette ai lettori di capire la relazione tra diversi campi in modo efficace. I simboli sono utilizzati per rappresentare efficacemente le informazioni e aiutano anche a comprendere il funzionamento del database. I diagrammi ER costituiscono una tecnica di modellazione dei dati molto utile che include:

  1. I diagrammi ER sono facili da capire e non richiedono che una persona si sottoponga a una formazione approfondita per essere in grado di lavorarci in modo efficiente e accurato. Questo significa che i progettisti possono usare i diagrammi ER per comunicare facilmente con gli sviluppatori, i clienti e gli utenti finali, indipendentemente dalla loro competenza informatica.
  2. I diagrammi ER sono facilmente traducibili in tabelle relazionali che possono essere usate per costruire rapidamente i database.
  3. I diagrammi ER possono essere applicati in altri contesti come la descrizione delle diverse relazioni e operazioni all’interno di un’organizzazione.

Gli elementi di ERD

La modellazione ER è una struttura top-down per la progettazione di database che inizia con l’identificazione dei dati importanti chiamati entità e relazioni in combinazione con i dati che devono essere caratterizzati nel modello. Poi i progettisti del modello di database possono aggiungere ulteriori dettagli come le informazioni che vogliono tenere sulle entità e relazioni che sono gli attributi e qualsiasi vincolo sulle entità, relazioni e attributi. La modellazione ER è una tecnica importante da padroneggiare per ogni progettista di database e costituisce la base della metodologia.

Tipo di entità: È un gruppo di oggetti con le stesse proprietà che sono identificati dall’impresa come aventi un’esistenza indipendente. Il concetto base del modello ER è il tipo di entità che è usato per rappresentare un gruppo di “oggetti” nel “mondo reale” con le stesse proprietà. Un tipo di entità ha un’esistenza indipendente all’interno di un database.

Gli attributi sono le proprietà delle entità che sono rappresentate usando figure a forma di ellisse. Ogni figura ellittica rappresenta un attributo ed è direttamente collegata alla sua entità (che è rappresentata come un rettangolo).

Un tipo di relazione è un insieme di associazioni tra uno o più tipi di entità partecipanti. Ad ogni tipo di relazione viene dato un nome che descrive la sua funzione. Ci sono quattro tipi di relazioni. Questi sono:

  • Uno a uno: Quando solo una singola istanza di un’entità è associata alla relazione, si parla di ‘1:1’.
  • Uno a molti: Quando più di un’istanza di un’entità è correlata e collegata con una relazione, si parla di ‘1:N’.
  • Many-to-one: Quando più di un’istanza di un’entità è collegata con la relazione, si parla di ‘N:1’.
  • Many-to-many: Quando più di un’istanza di un’entità a sinistra e più di un’istanza di un’entità a destra possono essere collegate con la relazione, allora si parla di relazione N:N.

Ecco alcuni esempi:

Uno a uno

Connettore ERD: uno a uno

Uno a molti

connettore ERD: uno a molti (uno o più)

Molti a molti

connettore ERD: uno a molti

Uno a zero o molti

connettore ERD: molti a molti

Data Models: Progettazione concettuale / logica e fisica

ER Modeling riconosce tre diversi livelli di astrazione a cui i modelli sono sviluppati. I tre livelli di modellazione dei dati, modello concettuale dei dati, modello logico dei dati e modello fisico dei dati.

I modelli concettuali, logici e fisici o ERD sono tre modi diversi di modellare i dati in un dominio. Mentre tutti contengono entità e relazioni, differiscono per gli scopi per cui vengono creati e per il pubblico a cui sono destinati. Una comprensione generale dei tre modelli è che il business analyst usa il modello concettuale e logico per modellare i dati richiesti e prodotti dal sistema da un punto di vista del business, mentre il progettista di database raffina il design iniziale per produrre il modello fisico per presentare la struttura fisica del database pronta per la costruzione del database.

Qui confrontiamo questi tre tipi di modelli di dati. La tabella qui sotto confronta le diverse caratteristiche:

Concettuale: Un modello concettuale dovrebbe essere focalizzato su cose relative al business e ai suoi requisiti. È raccolto dai requisiti di business. Le entità e le relazioni modellate in tale ERD sono definite intorno ai bisogni del business. Il bisogno di soddisfare il design del database non è ancora considerato. L’ERD concettuale è il modello più semplice tra tutti.

Esempio di ERD concettuale

Logico: Un modello logico dovrebbe essere focalizzato sulla progettazione di dati su quelle cose ma senza riferimento ad una particolare implementazione fisica. È più complesso di un modello concettuale in quanto i tipi di colonna sono impostati. Notate che l’impostazione dei tipi di colonna è opzionale e se lo fate, dovreste farlo per aiutare l’analisi del business. Non ha ancora niente a che fare con la creazione del database.

Esempio di ERD logico

Fisico: Un modello fisico dovrebbe essere focalizzato su come i dati logici dovrebbero essere rappresentati e memorizzati in un particolare database fisico. Rappresenta il progetto effettivo di un database relazionale. Rappresenta come i dati dovrebbero essere strutturati e relazionati in uno specifico DBMS quindi è importante considerare la convenzione e le restrizioni del DBMS che si usa quando si progetta un ERD fisico. Questo significa che è necessario un uso accurato del tipo di dati per le colonne delle entità e l’uso di parole riservate deve essere evitato nel nominare entità e colonne. Inoltre, i progettisti di database possono anche aggiungere chiavi primarie, chiavi esterne e vincoli al progetto.

Esempio di ERD fisico

Esempio – Iscrizione studenti

Una comprensione generale dei tre modelli di dati è che il business analyst usa un modello concettuale e logico per modellare gli oggetti di business esistenti nel sistema, mentre il database designer o il database engineer elabora il modello ER concettuale e logico per produrre il modello fisico che presenta la struttura fisica del database pronta per la creazione del database. Ecco un altro esempio per illustrare i 3 diversi livelli del modello di dati.

Modello concettuale dei dati

Modello logico dei dati

esempio di modello logico dei dati: iscrizione studenti

Modello dati fisici

esempio modello dati fisici: student enrolment

Comparing Conceptual / Logical and Physical ER Model

While all the three levels of an ER model contain entities with attributes and relationships, they differ in the purposes they are created for and the audiences they are meant to target. The table below shows the difference between the three data models.

ERD features Conceptual Logical Physical
Entity (Name) Yes Yes Yes
Relationship Yes Yes Yes
Columns Yes Yes
Column’s Types Optional Yes
Primary Key Yes
Foreign Key Yes