Il modello Entità/Relazione
Il modello Entità/Relazione (Entity Relationship model E-R) è un modello concettuale di dati, e fornisce una serie di strutture (costrutti) per la descrizione della realtà.
I costrutti sono utilizzati per definire degli schemi che descrivono l’organizzazione e la struttura delle occorrenze dei dati.
I costrutti principali sono quattro:
- Entità
- Relazioni
- Attributi
- Generalizzazione
Entità: rappresentano classi di oggetti (fatti, persone) che hanno proprietà comuni ed esistenza “autonoma” per una applicazione.
CITTA’, DIPARTIMENTO, IMPIEGATO, ACQUISTO, VENDITA sono es. di entità di una applicazione aziendale. Una occorrenza di una entità è un oggetto della classe che l’entità rappresenta (come accade nella programmazione ad oggetti).
Una entità si rappresenta graficamente con una rettangolo, all'interno del quale si mette il nome del concetto che rappresenta.

Relazioni: rappresentano legami logici, significativi per l’applicazione, tra due o più entità.
RESIDENZA è un esempio di relazione che può sussistere tra le entità CITTA’ e IMPIEGATO, mentre ESAME può esserlo tra STUDENTE e CORSO.
Una occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolte. Una relazione si rappresenta graficamente con una rombo, all'interno del quale si mette il nome del concetto che rappresenta.

Un esempio completo è il seguente:

E' anche possibile avere relazioni ricorsive. L’esempio connette coppie di persone che si conoscono.

E' anche possibile avere relazioni ricorsive con “ruoli”. L’esempio connette sovrani che si succedono.

E' possibile che una relazione colleghi anche più di due entità.

Attributi: descrivono proprietà elementari di entità o relazioni di interesse ai fini dell’applicazione.

Attributi composti: a volte può risultare comodo raggruppare attributi di una medesima entità o relazione che presentano affinità nel loro significato o uso. L’insieme di attributi ottenuto si dice attributo composto.

Con i costrutti di base è già possibile costruire schemi di una certa complessità che rappresentano delle realtà. Esistono però alcuni costrutti aggiuntivi.
Cardinalità delle relazioni: vengono specificate per ciascuna entità che partecipa a una relazione e dicono quante volte, in una relazione tra entità, un’occorrenza di una di queste entità può essere legata ad occorrenze delle altre entità coinvolte nella relazione (indica il minimo e il massimo delle occorrenze).

Nello schema si intende cha ad un impiegato possono essere assegnati da uno a cinque incarichi, e che ad un incarico possono essere assegnati da 0 a molti (N) impiegati.
Grazie alle cardinalità si possono definire tre tipi di relazioni:
- Uno a uno: la cardinalità massima è pari a 1 per entrambe le entità.
Ad es. Ordine (0,1) - Vendita - (1,1) Fattura: posso avere una vendita senza ordine (vado in negozio direttamente) ma non senza scontrino.
- Uno a molti: la cardinalità massima è pari a 1 per una entità e cardinalità massima pari a N per l’altra.
Ad es. Persona (0,1) - Impiego - (1,N) Azienda: una persona è impiegata in una sola azienda (o è disoccupata); l'azienda può impiegare una o molte persone.
- Molti a molti: la cardinalità massima è pari a N (o più di uno) per entrambe le entità definisce una corrispondenza molti a molti (come nella figura precedente).
Anche per gli attributi è possibile definire la cardinalità. Ad es:
Persona (0,1) - Numero Patente
vuol dire che una persona può avere o non avere la patente
Identificatori di entità: sono specificati per ciascuna entità di uno schema e descrivono i concetti (attributi e/o entità) dello schema che permettono di identificare in maniera univoca le occorrenze delle entità. Uno o più attributi di una entità sono sufficienti a individuare un identificatore interno (o chiave). Per distinguere l'attributo (o gli attributi) che identificano le occorrenze di una entità si utilizza un pallino di colore nero.

Generalizzazioni: rappresentano legami logici tra una entità padre e una o più entità figlie, che sono comprese dal padre e che ne costituiscono un caso particolare. Il padre viene chiamato generalizzazione dei figli, che vengono chiamati specializzazioni dell’entità padre.
Tra le entità coinvolte in una generalizzazione valgono le proprietà:
- Ogni occorrenza dell’entità figlia lo è anche dell’entità padre
- Ogni proprietà dell’entità padre (attributi, identificatori, relazioni) è anche una proprietà delle entità figlie (ereditarietà).
Per es. se l’entità Persona ha attributi Cognome ed Età, anche le entità uomo e Donna li possiedono. Inoltre l’identificatore di Persona è un identificatore valido anche per le entità Uomo e Donna.

|