Data di pubblicazione: 24 giugno, 2024
Autori: Ivan Belcic, Cole Stryker
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.
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.
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.
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.
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.
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à.
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.
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.
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.
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.
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.
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.
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.
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.
La cardinalità è la qualità di una relazione che definisce il numero di istanze in un'entità che si riferiscono alle istanze di un'altra.
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.
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.
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.
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.
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.
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.
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à.
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.
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.
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.
Scala le applicazioni, l'analytics e l'AI generativa più velocemente con i database nel cloud ibrido.
Quando preparano i dati per le applicazioni AI, le aziende incontrano numerosi ostacoli. L'esistenza di silo e dati duplicati, insieme alle preoccupazioni relative alla qualità dei dati, crea un ambiente multiforme da gestire per le organizzazioni.
Immaginiamo un futuro in cui l'AI collabora perfettamente con le soluzioni di supply chain esistenti, ridefinendo il modo in cui le organizzazioni gestiscono i loro beni. Se stai utilizzando l'AI tradizionale, l'analisi avanzata e l'automazione intelligente, non stai già ottenendo informazioni approfondite sulle prestazioni degli asset?