Che cos'è un diagramma entità-relazione
Esplora IBM OpenPages Iscriviti per ricevere gli aggiornamenti sull'AI
Illustrazione isometrica che mostra forme e nuvole

Data di pubblicazione: 24 giugno, 2024
Autori: Ivan Belcic, Cole Stryker

Che cos'è un diagramma entità-relazione

Un diagramma entità-relazione (diagramma ER o ERD) è una rappresentazione visiva di come gli elementi di un database si relazionano tra loro. Gli ERD sono un tipo specializzato di diagramma di flusso che spiega i tipi di relazione tra diverse entità all'interno di un sistema. Utilizzano un insieme definito di simboli, tra cui rettangoli, ovali e rombi, e li collegano con linee di connessione.

Nell'ambito del modello relazionale di progettazione del database, gli ERD stabiliscono come sono collegate le varie voci. Gli ERD sono un modello concettuale di dati di alto livello, che pone le basi per una progettazione e un'analisi del database più avanzate.

Inoltre, la modellazione delle relazioni tra entità può aiutare a distillare narrazioni e insight da una raccolta apparentemente eterogenea di punti di dati.

A che cosa servono gli ERD?
      Progettazione di database e data modeling

      Gli analisti aziendali e gli ingegneri di database utilizzano i diagrammi ER come strumenti di data modeling per valutare l'ambito dei database di cui le loro organizzazioni hanno bisogno e pianificare come verranno archiviati i dati. 

      Gli ERD informano la parte di ingegneria del software di un progetto di database definendo i requisiti per l'architettura dei sistemi informativi e la struttura del database. Nell'approccio a tre schemi all'ingegneria del software per i sistemi di gestione dei database (DBMS), l'ERD è il livello concettuale. 

      L'integrazione dei dati è un complesso processo di ingegneria dei dati costituito da molte parti mobili. Un ERD può aiutare gli ingegneri dei dati a concettualizzare il sistema complessivo e ridurre il potenziale di errori. 

      Risoluzione dei problemi del database

      Il confronto dei database esistenti con un ERD può rivelare errori di progettazione del database che potrebbero causare problemi. I database complessi con numerose tabelle richiedono un'ampia conoscenza di SQL per il processo di debug. Un ERD riepiloga il database in modo che gli ingegneri possano identificare rapidamente potenziali errori. 

      Business Process Reengineering (BPR):

      Quando si intraprendono progetti di reingegnerizzazione dei processi aziendali, può essere utile ottenere una panoramica di tutti i dati all'interno dei sistemi informativi di un'organizzazione. Gli ERD vengono utilizzati per redigere soluzioni di architettura dei dati più nuove e più efficienti che facilitano le altre fasi del processo BPR.

      Confronto tra ERD, schemi di database e diagrammi di flusso dei dati

      I diagrammi entità-relazione, gli schemi di database e i diagrammi di flusso dei dati rappresentano tutti visivamente il modo in cui i dati sono organizzati in un sistema.

      • I diagrammi entità-relazione illustrano le entità all'interno di un database e le loro relazioni reciproche. I diagrammi ER spesso raffigurano schemi di database.

      • Gli schemi di database stabiliscono il modo in cui le entità del mondo reale verranno modellate in un database relazionale. Contengono le regole e le linee guida che determinano l'organizzazione del database, come i nomi delle tabelle, i campi e i tipi di dati.

      • Diagrammi di flusso dei dati sono un tipo di flusso di diagramma che mostra il flusso di dati attraverso un processo o un sistema. Mostrano come i dati si spostano dai processi alle posizioni di archiviazione interne ed esterne.

      Componenti ERD comuni

      I diagrammi entità-relazione includono le entità, i loro attributi e le relazioni tra essi. Alcuni ERD trasmettono anche la cardinalità, che quantifica la relazione tra due entità.

      Entità

      Un'entità ERD è qualcosa di definibile, come una persona, un ruolo, un evento, un concetto o un oggetto, che può avere informazioni su di essa archiviate in un database relazionale. Molti stili di diagrammi entità-relazione rappresentano le entità come rettangoli.

      • Persone o ruoli: studenti, venditori, dirigenti o clienti.
      • Avvenimenti: transazioni, iscrizioni o cancellazioni.
      • Concetti: profili o alias.
      • Oggetti: prodotti, fatture o e-mail.

      Le entità sono simili ai sostantivi in senso grammaticale. Sono elementi fondamentali nel database, con attributi e relazioni che trasmettono informazioni su queste entità, proprio come aggettivi e verbi forniscono maggiori informazioni sui sostantivi in una frase.

      Tipi di entità

      I tipi di entità sono una categoria di entità. Se le entità sono simili ai sostantivi, allora i tipi di entità sono categorie: alimenti, sport e paesi. Le singole entità all'interno di un tipo di entità sono note come istanze. All'interno del tipo di entità verdure potrebbero esserci le istanze broccoli, carote e asparagi.

      Entità forti ed entità deboli

      Le entità sono classificate come forti o deboli. Le entità forti contengono informazioni identificative sufficienti nei loro attributi per non aver bisogno di ulteriori chiarimenti. Le entità deboli, invece esistono solo come risultato o conseguenza di un'altra entità. L'entità forte associata a una determinata entità debole è nota come entità madre o proprietaria.

      Consideri un database che modella gli ordini dei clienti in un'attività di e-commerce. Ogni ordine è un'entità forte perché può essere definito come un'istanza unica in base all'acquirente, all'ora e alla data. Tuttavia, le voci all'interno di ogni ordine sono entità deboli. Hanno un significato solo nel contesto dei rispettivi ordini. Questa dipendenza è nota come dipendenza dall'esistenza o vincolo di partecipazione.

      Le entità forti vengono visualizzate come rettangoli solidi, mentre gli ERD rappresentano le entità deboli come un doppio rettangolo.

      Entità associative

      Un'entità associativa collega le istanze tra due set di entità e ha i propri attributi che forniscono maggiori informazioni su tale relazione. In un ERD utilizzato da un'università, l'entità imposta studenti e professori in modo che abbiano molte connessioni tra loro. L'entità associativa che collega i due mostrerebbe quali studenti stanno seguendo corsi tenuti da quali professori.

      I database relazionali utilizzano entità associative per informare le tabelle di giunzione, che combinano i campi di più altre tabelle di database. Nei diagrammi ER, le entità associative sono rappresentate come un rombo all'interno di un rettangolo.

      Attributi

      Gli attributi sono qualità, proprietà e caratteristiche che definiscono un'entità o un tipo di entità. In un progetto ERD classico, gli attributi vengono visualizzati come ovali e vengono visualizzati accanto all'entità corrispondente in un ERD. 

      Tipi di attributi
      • Gli attributi semplicinon possono essere semplificati o suddivisi in ulteriori attributi. Un codice postale è un esempio di attributo semplice.
      • Gli attributi compositi vengono compilati da altri attributi, che possono essere semplici o meno. Un indirizzo è un attributo composito contenente un numero civico, il nome della via, il codice postale, la città e altre informazioni identificative.
      • Gli attributi derivati sono calcolati in base ad altri attributi. Il valore della busta paga di un dipendente deriva dalle ore lavorate, dalla durata del periodo di retribuzione e dal salario. Gli ERD rappresentano gli attributi derivati come ovali tratteggiati.
      • Gli attributi multivalore possono avere più di un valore per record, mentre un attributo a valore singolo non può.
      Attributi chiave

      Le chiavi di entità sono gli attributi che definiscono in modo univoco ciascuna entità in un set di dati. Qualsiasi attributo può essere designato come chiave, a condizione che ricopra questo ruolo. Ad esempio, in un set di entità persone, un attributo chiave appropriato potrebbe esserei il numero del documento di identità. I cognomi, invece, non funzionerebbero come attributo chiave in questo contesto poiché più di una persona può condividere lo stesso cognome. 

      • Superchiave: uno o più attributi che possono definire in modo univoco un'entità all'interno di un set di entità.
      • Chiave candidata: la superchiave più semplice possibile: nessun attributo all'interno di una chiave candidata può essere una superchiave in sé. Le chiavi candidate possono essere costituite da uno o più attributi se ogni attributo non è una superchiave. 
      • Chiave primaria: la chiave candidata viene scelta per definire in modo univoco un set di entità. Poiché la chiave primaria è ciò che distingue ogni entità, non è possibile che due voci in un database condividano lo stesso valore di chiave primaria. In un diagramma ER, la chiave primaria di ogni entità sarà sottolineata. Qualsiasi entità contenente una chiave primaria è considerata un'entità forte. 
      • Chiave esterna: un attributo che identifica la relazione di un'entità con un'altra. Le entità deboli si basano su chiavi esterne per definirsi come entità forti. Ad esempio, il conto bancario dell'entità debole avrebbe bisogno di una chiave esterna che lo colleghi alla banca pertinente. 
      Relazioni

      Le relazioni sono le linee collegate che collegano tra loro le entità in un ERD. Indicano il modo in cui le entità all'interno di un ERD sono associate tra loro. Se le entità sono nomi e gli attributi sono aggettivi, allora le relazioni sono verbi.

      In un ERD tradizionale, le relazioni sono rappresentate come diamanti. Le relazioni deboli legano un'entità debole al suo proprietario e sono indicate come doppi diamanti.

      La partecipazione di un'entità a una relazione può essere totale, nel qual caso l'intero insieme di entità è coinvolto nella relazione o parziale. Nella partecipazione parziale, alcune o tutte le entità all'interno dell'insieme potrebbero essere coinvolte nella relazione in un momento specifico.

      Cardinalità delle relazioni

      La cardinalità è la qualità di una relazione che definisce il numero di istanze in un'entità che si riferiscono alle istanze di un'altra.

      • Le relazioni uno a uno (1:1) indicano che un record all'interno di un'entità può essere referenziato solo da un record dell'altra entità. Il rapporto tra le università degli enti e i presidenti è un rapporto uno a uno, perché ogni università ha un solo presidente. Viceversa, ogni presidente è responsabile di una sola università.
      • Le relazioni uno-a-molti (1:M) descrivono situazioni in cui ogni record all'interno di un'entità si riferisce a più record di un'altra entità. Esiste una relazione uno-a-molti tra le entità, le università e i dipartimenti. Un'università può avere più dipartimenti, ma ogni dipartimento fa parte di una sola università.
      • Le relazioni molti-a-molti (M:M) mostrano che uno o più record all'interno di entrambe le entità possono essere connessi. Le entità studenti e professori hanno una relazione molti-a-molti perché, proprio come un professore insegna in una classe con molti studenti, ogni studente potrebbe anche iscriversi a classi con altri professori.

      Gli ERD rappresentano la cardinalità attraverso variazioni nelle linee di connessione tra le entità. Il modo in cui viene mostrata la cardinalità dipende dallo stile di ERD utilizzato.

      Tipi di modelli ER

      La maggior parte degli ERD sono redatti in uno dei tre modelli entità-relazione: concettuale, logico e fisico. Tutti e tre descrivono le entità insieme ai loro attributi e relazioni, ma i loro casi d'uso e i destinatari sono diversi. Il concettuale è il meno dettagliato, mentre gli ERD fisici offrono le informazioni più granulari.

      • I modelli ER concettuali offrono una visione di alto livello dei dati all'interno dell'ERD. Gli analisti aziendali li utilizzano per progetti di progettazione di database su larga scala come i data warehouse. I modelli di dati concettuali solitamente contengono entità e relazioni, senza addentrarsi ulteriormente nelle tabelle e nella cardinalità del database.
      • I modelli ER logici sono simili ai modelli concettuali, ma con un più dettagli. In un modello di dati logico, vengono definite le colonne o gli attributi di ciascuna entità, così come le entità operative e transazionali. Gli analisti aziendali utilizzano modelli di dati logici per progetti di progettazione di database su scala ridotta.
      • I modelli ER fisici sono i progetti concreti per i progetti di progettazione di database. Includono la quantità massima di dettagli, ad esempio la cardinalità e le chiavi primarie ed esterne. I progettisti e gli ingegneri di database creano modelli di dati fisici a partire dai modelli concettuali e logici forniti loro dagli analisti aziendali.
      Stili di ERD

      Da quando l'informatico e teorico dei database Peter Chen ha introdotto gli ERD negli anni '70, sono emersi diversi tipi di diagrammi per soddisfare una gamma crescente di casi d'uso.

      Stile Chen

      Gli ERD di Chen hanno un aspetto simile ai classici diagrammi di flusso, con varie forme collegate da linee. La cardinalità è mostrata con i caratteri 1, M e N lungo le linee di collegamento. M e N rappresentano entrambi "molti" in una relazione uno-a-molti o molti-a-molti; rappresentare quest'ultima con la notazione M:N o N:M implica che il numero di entità nella relazione non deve essere necessariamente uguale su entrambi i lati.

      Lo stile Chen raffigura la partecipazione totale con una singola linea di collegamento e parziale con una doppia linea di collegamento.

      Notazione a zampa di gallina

      Chiamata per la sua linea di collegamento biforcuta a tre punte che mostra molte relazioni, la notazione a zampa di gallina sostituisce i simboli di Chen con delle tabelle. Ogni tabella rappresenta un'entità e contiene tutti i relativi attributi. La notazione a zampa di gallina consente ai creatori di ERD di mostrare informazioni sulla cardinalità delle relazioni.

      Stile Bachman

      I diagrammi della struttura di dati di Charles Bachman hanno ispirato direttamente Chen nella creazione dell'ERD. Bachman utilizzava linee e frecce per indicare la cardinalità nelle relazioni.

      Stile IDEF1X

      Negli anni '80 l'US Air Force ha introdotto il linguaggio IDEF1X (Integration DEFinition for Information Modeling) per supportare lo sviluppo di modelli semantici di dati. Ha fatto un passo avanti rispetto al lavoro di Chen mostrando gli attributi all'interno di una tabella condivisa e introducendo più opzioni per la cardinalità.

      Stile Barker

      Lo stile Barker, creato da Richard Barker nel 1981, è lo standard da utilizzare in Oracle. La notazione Barker condivide lo stile a zampa di gallina per collegare le linee e utilizza anche linee tratteggiate per rappresentare la partecipazione parziale o opzionale.

      Prodotti e soluzioni correlati
      IBM OpenPages

      IBM OpenPages è una soluzione GRC (governance, rischio e conformità) altamente scalabile, alimentata dall’AI, in grado di essere eseguita su qualsiasi cloud mediante IBM Cloud Pak for Data.

      Esplora OpenPages

      IBM Db2

      IBM Db2 è il database cloud-native creato per supportare transazioni a bassa latenza, analytics in tempo reale e applicazioni di intelligenza artificiale (AI) su larga scala.

      Scopri Db2

      Soluzioni di database IBM

      Scala le applicazioni, l'analytics e l'AI generativa più velocemente con i database nel cloud ibrido.

      Esplora le soluzioni di database di IBM
      Fai il passo successivo

      Semplifica la governance dei dati, la gestione del rischio e la conformità alle normative con IBM® OpenPages, un software unificato e altamente scalabile basato sull'AI per la governance, il rischio e la conformità.

      Esplora IBM OpenPages Prenota una demo live
        翻译: