Cos'è un diagramma entità-relazione (ERD)?

12 min

I diagrammi entità-relazione mostrano la relazione tra diverse entità all'interno di un sistema. Questi diagrammi sono particolarmente utili per fornire una visione d'ensemble delle informazioni presenti in un sistema e delle loro connessioni. Aiutano i team a comprendere come utenti, software e database interagiscono in scenari reali.

Scopri di più sui diagrammi entità-relazione, incluse le loro origini, gli utilizzi, gli esempi, i componenti e come disegnarli usando il nostro strumento per diagrammi ER.

Cos'è un diagramma ER?

Un diagramma entità-relazione (ER) è un tipo di diagramma di flusso che illustra come le entità, come persone, oggetti o concetti, si relazionano tra loro all'interno di un sistema. I diagrammi ER sono spesso utilizzati per progettare o eseguire il debug di database relazionali nei campi dell'ingegneria del software, dei sistemi informativi aziendali, dell'istruzione e della ricerca. Noti anche come ERD o modelli ER, utilizzano un insieme definito di simboli come rettangoli, rombi, ovali e linee di collegamento per rappresentare l'interconnessione di entità, relazioni e i loro attributi. Rispecchiano la struttura grammaticale, con le entità che fungono da sostantivi e le relazioni da verbi.

 

I diagrammi ER sono correlati ai diagrammi di struttura dei dati (DSD), che si concentrano sulle relazioni degli elementi all'interno delle entità anziché sulle relazioni tra le entità stesse. I diagrammi ER vengono utilizzati anche in combinazione con i diagrammi di flusso dei dati (DFD), che mappano il flusso di informazioni per processi o sistemi.

Storia dei modelli ER

Peter Chen, informatico e matematico applicato, è considerato lo sviluppatore della modellazione ER for la progettazione di database negli anni '70. Prima della nascita dell'informatica, la rappresentazione dell'interconnessione delle cose risaliva già all'antica Grecia con le opere di Aristotele, Socrate e Platone. Si ritrova più recentemente nelle opere di filosofi della logica del XIX e XX secolo, come Charles Sanders Peirce e Gottlob Frege.

 Negli anni '60 e '70, Charles Bachman e A.P.G. Brown svilupparono i predecessori dell'approccio di Chen. Bachman creò un tipo di diagramma della struttura dei dati chiamato diagramma di Bachman. Brown pubblicò lavori sulla modellazione di sistemi del mondo reale. James Martin apportò perfezionamenti agli ERD. Il lavoro di Chen, Bachman, Brown, Martin e altri contribuì anche allo sviluppo dello Unified Modeling Language (UML), ampiamente utilizzato nella progettazione del software.

Usi dei diagrammi entità-relazione

Progettazione di database

I diagrammi ER servono a modellare e progettare database relazionali. Il modello logico dei dati viene utilizzato per la logica e le regole aziendali, mentre il modello fisico dei dati viene impiegato per l'implementazione tecnologica. Nell'ingegneria del software, un diagramma ER rappresenta spesso la fase iniziale per determinare i requisiti di un progetto di sistemi informativi. Successivamente viene impiegato per modellare uno o più database specifici. Un database relazionale ha una tabella relazionale equivalente e può essere espresso in questo modo in base alle esigenze.

 Gli ERD si usano all'inizio di un nuovo progetto di database per delineare i requisiti e aiutare il team a creare un modello che esprima i flussi di informazioni tra utente, software, database e altre entità. Poiché rendono visibili fin da subito presupposti e dipendenze, gli ERD migliorano la pianificazione e il processo decisionale prima dell'inizio dell'implementazione. 

 I vantaggi principali nelle prime fasi includono l'individuazione tempestiva dei problemi, l'eliminazione della confusione sui sistemi complessi e la mitigazione dei rischi.

 Risoluzione dei problemi del database

I diagrammi ER vengono utilizzati per analizzare i database esistenti al fine di trovare e risolvere problemi di logica o di implementazione. Il disegno del diagramma aiuta a rivelare cosa non funziona.

 Sistemi informativi aziendali

Questi diagrammi servono a progettare o analizzare database relazionali per i processi aziendali. Qualsiasi processo aziendale che utilizzi dati strutturati in campi che coinvolgono entità, azioni e interazioni trae vantaggio da un database relazionale, che ottimizza i processi, consente di trovare le informazioni più facilmente e migliora i risultati.

 Reingegnerizzazione dei processi aziendali (BPR)

I diagrammi ER aiutano ad analizzare i database utilizzati nella reingegnerizzazione dei processi aziendali e a modellare la configurazione di un nuovo database.

 Istruzione

Oggi i database rappresentano il metodo principale per archiviare informazioni relazionali a fini didattici e per il successivo recupero, pertanto i diagrammi ER sono preziosi for la pianificazione di tali strutture di dati.

Ricerca

Poiché gran parte della ricerca si concentra sui dati strutturati, i diagrammi ER svolgono un ruolo chiave nella configurazione di database utili per l'analisi dei dati.

I componenti e le caratteristiche di un diagramma ER

I diagrammi ER sono composti da entità, relazioni e attributi. Rappresentano inoltre la cardinalità, che definisce le relazioni in termini numerici. Ecco un glossario:

Entità

Un'entità è un qualsiasi tipo di oggetto di dati. Questi oggetti includono computer, stampanti, dipendenti, clienti, luoghi, eventi, concetti e così via.

Tipo di entità: un tipo di entità è un gruppo di elementi definibili, come clienti o prodotti, mentre l'entità indica il cliente o il prodotto specifico.

Insieme di entità: un insieme di entità coincide con un tipo di entità, ma viene definito in un momento specifico nel tempo, come ad esempio i clienti che hanno effettuato un acquisto il mese scorso. Un termine correlato è istanza, in cui un cliente specifico rappresenta un'istanza dell'insieme di entità.

Categorie di entità: le categorie di entità includono entità forti, deboli e associative. Un'entità forte viene definita esclusivamente dai propri attributi, mentre un'entità debole no. Un'entità associativa collega le entità (o elementi) all'interno di un insieme di entità.

Chiavi di entità: una chiave di entità è un attributo che definisce in modo univoco un'entità in un insieme di entità. Le chiavi di entità si dividono in superchiavi, chiavi candidate o chiavi primarie. Una superchiave è un insieme di attributi (uno o più) che insieme definiscono un'entità in un insieme di entità. Una chiave candidata è una superchiave minima, il che significa che ha il minor numero possibile di attributi per essere comunque una superchiave. Un insieme di entità può avere più di una chiave candidata. Una chiave primaria è una chiave candidata scelta dal progettista del database per identificarare in modo univoco l'insieme di entità.

Relazione

Le relazioni definiscono il modo in cui le entità agiscono l'una sull'altra o sono associate tra loro. Pensa alle relazioni come a dei verbi. Ad esempio, un cliente specifico acquista un prodotto. Le due entità sono il cliente e il prodotto, e la relazione rappresentata è l'atto dell'acquisto, che collega le due entità. Le relazioni vengono solitamente mostrate come rombi o etichette direttamente sulle linee di collegamento.

Relazione ricorsiva: in una relazione ricorsiva, la stessa entità partecipa più di una volta alla relazione.

Attributo

Gli attributi definiscono le proprietà delle entità nel database. Ad esempio, un insieme di entità cliente ha valori diversi for nome, indirizzo, informazioni di pagamento e così via.

Attributo descrittivo: un attributo descrittivo è una proprietà o una caratteristica di una relazione (rispetto a quella di un'entità).

 Categorie di attributi: le categorie di attributi includono attributi semplici, composti, derivati, a valore singolo o multivalore. Un attributo semplice è atomico e non può essere ulteriormente suddiviso, come un numero di telefono. Un attributo composto è un sotto-attributo che deriva da un attributo. Un attributo derivato viene calcolato o ricavato da un altro attributo, come l'età a partire dalla data di nascita. Un attributo multivalore contiene più valori, come i diversi numeri di telefono di una persona. Un attributo a valore singolo ha un solo valore di attributo. I tipi possono essere combinati, dando vita ad esempio ad attributi semplici a valore singolo o attributi composti multivalore.

Cardinalità

La cardinalità definisce gli attributi numerici della relazione tra due entità o insiemi di entità. Le tre principali relazioni cardinali sono uno-a-uno, uno-a-molti e molti-a-molti. Un esempio di relazione uno-a-uno è un cliente associato a un unico indirizzo di spedizione. Un esempio di relazione uno-a-molti (o molti-a-uno, a seconda della direzione della relazione) è un cliente che acquista più prodotti, in cui tutti i prodotti rimandano tramite un'unica linea a quel determinato cliente. In un esempio molti-a-molti, i clienti come gruppo sono associati a più prodotti e i prodotti a loro volta sono associati a più clienti.

Viste di cardinalità: le viste di cardinalità vengono mostrate come "look-across" (vista opposta) o "same-side" (stesso lato), a seconda di dove appaiono i simboli.

 Vincoli di cardinalità: i vincoli di cardinalità sono i numeri minimi o massimi che si applicano a una relazione.

Mappatura del linguaggio naturale

I componenti ER possono essere equiparati alle parti del discorso. Ecco come un diagramma ER si confronta con un diagramma grammaticale:

 

Il linguaggio di query del database ERROL imita effettivamente i costrutti del linguaggio naturale. ERROL si basa sulla "reshaped relational algebra" (RRA) e funziona con i modelli ER, catturandone gli aspetti linguistici.

Simboli e notazioni ERD

Le immagini seguenti mostrano diversi sistemi di notazione ERD. Per ulteriori informazioni, consulta la pagina dei simboli e della notazione ERD.

Stile di notazione di Chen

Stile Crow’s Foot/Martin/Information Engineering

Stile Bachman

Stile IDEF1X

Stile Barker

Alcuni team applicano anche la notazione UML quando desiderano esprimere relazioni in stile ER con convenzioni orientate agli oggetti. Questo non significa che l'ERD diventi un tipo di diagramma UML, ma semplicemente che la notazione UML viene utilizzata for descrivere le relazioni tra entità e la cardinalità. Con la notazione UML, le relazioni sono mostrate come una linea continua che collega due entità. Le cardinalità sono indicate sulla linea (ad esempio, 1..1 indica uno-a-uno o 1..* for uno-a-molti) ed è possibile aggiungere sintagmi verbali (come "creato da" o "ordinato da") for definire la relazione tra le entità.

Esempi

Di seguito sono riportati alcuni esempi di diagrammi ERD realizzati con ciascun sistema.

 

Modelli di dati concettuali, logici e fisici

I modelli ER e i modelli di dati vengono solitamente tracciati su tre livelli di dettaglio:

 

Modello concettuale dei dati

 

Questo modello mostra la vista di livello più alto con il minor dettaglio. Il suo valore risiede nel catturare l'ambito generale del modello e nel rappresentare l'architettura del sistema. Per un sistema di dimensioni ridotte, si può iniziare direttamente dal modello logico.

 

Modello logico dei dati

Questo modello mostra un livello di dettaglio maggiore rispetto a un modello concettuale e definisce le entità operative e transazionali. Il modello logico è indipendente dalla tecnologia in cui verrà implementato.

 

Modello fisico dei dati

Da ciascun modello logico si sviluppano uno o più modelli fisici. I modelli fisici devono mostrare dettagli tecnologici sufficienti for produrre e implementare il database effettivo.

 

Con la crescita dei sistemi, rappresentare ogni dettaglio operativo in un'unica immagine leggibile diventa complesso. Se necessario, è possibile utilizzare più grafici e creare diversi livelli di ERD. I sistemi più piccoli, al contrario, si rappresentano facilmente.

Limitazioni dei diagrammi e dei modelli ER

I diagrammi e i modelli ER non si adattano a ogni tipo di database. Ecco i motivi for cui potrebbero non essere la scelta ideale for il tuo caso d'uso:

 

  • Solo for dati relazionali: l'unico scopo dei diagrammi ER è mostrare le relazioni tra le entità, quindi non sono la scelta giusta for la progettazione di database non relazionali.

  • Non adatti a dati non strutturati: a meno che i dati non siano chiaramente delineati in campi, righe o colonne differenti, i diagrammi ER offrono un'utilità limitata. Lo stesso vale for i dati semistrutturati, poiché solo una parte di essi sarà utile.

  • Difficoltà di integrazione con un database esistente: l'utilizzo di modelli ER for l'integrazione con un database esistente rappresenta una sfida a causa delle diverse architetture. 

Inoltre, se il tuo livello di persistenza primario è non relazionale, avrai bisogno di un approccio di modellazione diverso rispetto a un classico ERD.

Come creare un diagramma ER di base

  1. Scopo e ambito: definisci lo scopo e l'ambito di ciò che stai analizzando o modellando.

  2. Entità: identifica le entità coinvolte. Quando tutto è pronto, inizia a disegnarle all'interno di rettangoli (o della forma scelta dal tuo sistema) ed etichettale come sostantivi.

  3. Relazioni: determina il modo in cui le entità sono correlate. Disegna delle linee tra di esse for indicare le relazioni e aggiungi le etichette. Alcune entità possono non essere correlate. Nei diversi sistemi di notazione, la relazione viene indicata all'interno di un rombo, di un rettangolo o direttamente sopra la linea di collegamento.

  4. Attributi: aggiungi ulteriori dettagli inserendo gli attributi chiave delle entità. Gli attributi sono spesso mostrati come ovali.

  5. Cardinalità: mostra se la relazione è uno-a-uno, uno-a-molti o molti-a-molti.

 

Se devi mappare un sistema di grandi dimensioni, ti consigliamo di suddividere il lavoro in più diagrammi (ad esempio, una panoramica concettuale e uno o più modelli fisici) for mantenere leggibile ogni elemento visivo.

Come creare un diagramma ER in Lucidchart

  1. Apri un nuovo documento Lucidchart

Crea il tuo diagramma da zero o risparmia tempo partendo da uno dei modelli di diagramma ER già pronti di Lucidchart. L'importante è mostrare il livello di dettaglio necessario for il tuo scopo, che si tratti di un modello concettuale, logico o fisico. 

  1. Abilita le librerie di forme ERD

Fai clic su Altre forme sul lato sinistro dell'editor e assicurati che la casella Entità-relazione sia selezionata nell'elenco delle librerie di forme. 

  1. Trascina e rilascia le forme

Inizia ad aggiungere forme all'area di lavoro for rappresentare tutte le entità e le relazioni facendo clic sulla forma desiderata e rilasciandola nel punto preferito. Assicurati che tutte le entità e le relazioni siano etichettate e che il diagramma supporti tutti i dati da archiviare.

  1. Collega le forme

Fai clic su una forma qualsiasi e trascina una linea da uno dei cerchi visualizzati for collegarla a un'altra forma, così da mostrare la relazione tra le entità. Presta attenzione a eventuali entità o relazioni ridondanti. Se stai risolvendo un problema del database, verifica che non ci siano lacune nelle relazioni o entità e attributi mancanti.

  1. Condividi il tuo diagramma ER

Poiché gli ERD sono visivi e standardizzati, fungono anche da elementi di collaborazione che i team possono rivedere e perfezionare insieme. Condividi facilmente il tuo diagramma ER con altri tramite e-mail, Slack o link condivisibile. Fai clic su Condividi nell'angolo in alto a destra dello schermo: apparirà una finestra pop-up. Scegli come condividere il diagramma e imposta il livello di autorizzazione appropriato.

 

Tutto ciò di cui hai bisogno per creare un diagramma

Crea gratuitamente un diagramma curato e professionale con Lucidchart. Qualunque cosa tu abbia in mente, abbiamo gli strumenti giusti per realizzarla. Crea un account e inizia a creare diagrammi oggi stesso.

Iscriviti gratis

Modelli di diagrammi ER

Inizia a creare diagrammi ER con modelli pronti all'uso.

Diagramma di flusso dei dati: Livello 2

Prezzi:

Account a pagamento

Diagramma di flusso dei dati: Livello 2, Prezzi: Account a pagamento

Diagramma di flusso dei dati: Livello 1

Prezzi:

Account a pagamento

Diagramma di flusso dei dati: Livello 1, Prezzi: Account a pagamento

Domande frequenti sui diagrammi ER

Un diagramma entità-relazione (ERD) è un diagramma di flusso che illustra come le entità, come persone, oggetti o concetti, si relazionano tra loro all'interno di un sistema. Gli ERD vengono utilizzati principalmente nella progettazione di database relazionali.

I componenti principali di un ERD includono le entità (rappresentate da rettangoli), le relazioni (raffigurate da rombi) e gli attributi (mostrati come ovali), che insieme illustrano la struttura del database.

La cardinalità definisce le relazioni numeriche tra le entità, indicando se sono uno-a-uno, uno-a-molti o molti-a-molti, e chiarendo quante istanze di un'entità si relazionano a un'altra.

Lo scopo principale di un ERD è modellare e progettare database relazionali, consentendo ai team di visualizzare i requisiti dei dati e le relazioni prima di implementare il database vero e proprio.

Per creare un ERD di base, definisci lo scopo e l'ambito, identifica le entità, determina le loro relazioni, aggiungi gli attributi e indica la cardinalità per ciascuna relazione.

Sì, gli ERD consentono di analizzare i database esistenti per identificare e risolvere problemi logici o di implementazione mappando visivamente le relazioni e le entità coinvolte.

Gli ERD sono comunemente utilizzati nella progettazione di database, nei sistemi informativi aziendali, nella reingegnerizzazione dei processi aziendali, nell'istruzione e nella ricerca per ottimizzare i processi e migliorare la gestione dei dati.

Nei diagrammi ERD vengono utilizzati simboli specifici come rettangoli, rombi e ovali per creare un linguaggio visivo che rappresenti entità, relazioni e attributi, rendendo i diagrammi intuitivi e facili da comprendere.

Sì, i diagrammi ERD possono includere entità non collegate ad altre: l'obiettivo è infatti modellare accuratamente il sistema, che può comprendere entità autonome.

Tutto ciò di cui hai bisogno per creare un diagramma

Oltre al nostro editor di diagrammi online, Lucidchart offre risorse di supporto e formazione per aiutarti a sviluppare qualsiasi tipo di diagramma.

Vedi i laboratori di formazione