Modello Entity Relationship - Diagramma E/R
Il modello Entity/Relationship (E/R), viene tradotto in italiano come modello entità-associazioni, a volte come modello entità-relazioni. È un modello concettuale di schematizzazione di una realtà di riferimento, che viene effettuato come una delle prime fasi di progettazione di una base di dati per un sistema informatico aziendale.
Entità
Gli elementi di base sono le entità, caratterizzate da attributi, ovvero elementi che connotano quell'entità. Le entità sono classi di oggetti che hanno un’esistenza autonoma nello scenario di riferimento.
Un'entità non è un oggetto individuale, ma una categoria di oggetti simili: ad esempio, “Studente”, “Libro”, “Azienda” sono tutte entità in differenti contesti. Ciò che rende un'entità tale è il fatto che essa può essere individuata e distinta dalle altre all’interno del sistema, anche se in modo astratto. Le entità possono rappresentare:
-
- concetti astratti (es. un corso universitario, un progetto, un evento).
Attributi
Ogni entità è caratterizzata da attributi, che ne descrivono le proprietà o caratteristiche rilevanti. Gli attributi sono quindi elementi informativi associati all’entità: per esempio, l'entità “Studente” potrebbe avere come attributi il nome, il numero di matricola, la data di nascita, e così via.
Gli attributi possono essere:
- semplici (es. un singolo valore come “nome”);
- composti (es. “indirizzo”, che può includere via, città, CAP);
- multivalore (se possono assumere più valori, es. numeri di telefono);
- derivati (calcolabili da altri, es. l’età a partire dalla data di nascita).
Esempio
Immagina un database universitario. Alcune entità e i loro attributi potrebbero essere:
-
Entità: Studente
Attributi: Matricola, Nome, Cognome, Data di nascita -
Entità: Corso
Attributi: CodiceCorso, NomeCorso, CFU -
Entità: Docente
Attributi: MatricolaDocente, Nome, Cognome, Settore Scientifico
In questo esempio, ogni entità rappresenta una categoria autonoma di oggetti nel sistema, ed ogni oggetto (es. uno specifico studente o corso) può essere descritto grazie ai valori assunti dai suoi attributi.
Associazioni
Le associazioni possono essere di diversi tipi:
- one-to-one (1 a 1), ad ogni elemento del primo insieme (entity set) può essere associato un solo elemento del secondo insieme;
- one-to-many (1 a N), ad ogni elemento del primo insieme possono essere associati uno o più elementi del secondo insieme, mentre ogni elemento del secondo insieme è associato ad un solo elemento del primo;
- many-to-one (N a 1), corrisponde all’associazione 1 a N, vista dall’altro lato;
- many-to-many (N a N), ad ogni elemento del primo insieme possono essere associati uno o più elementi del secondo insieme, mentre ogni elemento del secondo insieme è associato ad uno o più elementi del primo.
Le associazioni 1 a N, N a 1 ed N a N possono essere parziali o totali: sono totali solo se vengono coinvolti tutti gli elementi degli insiemi considerati, altrimenti sono parziali.