Sei sulla pagina 1di 9

Il modello Entità-Relazione

A livello di progetto, i programmatori creano uno schema statico cioè un modello concettuale per
i dati che è indipendente dalle tecnologie hardware e software per realizzarlo. Il modello
concettuale più utilizzato è quello Entità-Relazioni. Esso viene costruito utilizzando tecniche
grafiche.

Nella fase di realizzazione, il modello concettuale viene tradotto in uno schema logico. Esso tiene
conto del linguaggio di programmazione scelto per realizzare il database in quanto dovrà essere poi
tradotto in un codice sorgente utilizzando, appunto, questo linguaggio, all' interno del software
DBMS.

Lo schema fisico, infine,descriverà come il database sarà memorizzato sui file fisici delle memorie
di massa.

Per creare il modello ER di un database occorre riconoscere:

itipi di entità individuati da un insieme di attributi


leassociazioniesistenti tra le varie entità
leregole del sistema informativo in fase di progetto
Le entità

Un' entità può essere una persona, una cosa o un fatto, mentre un tipo di entità raggruppa tutte le
entità che hanno le stesse caratteristiche.

Nel diagramma ER, un tipo di entità è rappresentato mediante un rettangolo con scritto al suo
interno il nome dello stesso tipo di entità.

Gli attributi

Ogni persona, cosa o fatto viene individuata mediante un elenco di proprietà (attributi),
caratteristiche che sono comuni a tutte le entità dello stesso tipo di entità. Ad esempio tutte le entità
di tipo Prodotto sono individuate dagli attributi comuni quali: il codice, la descrizione, la scorta
minima, il livello di riordino, le rimanenze, l' iva e il prezzo. L' insieme dei valori che può assumere
un attributo viene chiamato dominio.

Nel diagramma ER, un attributo è rappresentato mediante una linea che esce dal rettangolo di un
tipo di entità e termina con un pallino.

Esempio di tipo di entità Prodotto con attributi


Un attributo semplice o atomico è formato da un' unica variabile, mentre un attributo composto
o multiplo da più variabili.

Esempio con l' attributo indirizzo

Un identificatore di un tipo di entità è uno o più attributi i cui valori individuano univocamente una
specifica entità.

Nel diagramma ER, un attributo è rappresentato mediante una linea che esce dal rettangolo di un
tipo di entità e termina con un pallino completamente riempito.

Esempio dell' identificatore del tipo di entità persona


Le associazioni

Un' associazione rappresenta il legame logico tra due o più tipi di entità del database di un sistema
informativo.

Nel diagramma ER, il simbolo grafico di un' associazione è il rombo con scritto al suo interno un
nome (un sostantivo o un verbo)

Esempio dell' associazione tra i tipi di entità Consumatore e Prodotto

La linea che collega un rombo a un rettangolo è completata da una cardinalità.

In alcuni tipi di associazione può essere necessario aggiungere uno o più attributi.

Esempio di un' associazione con più attributi: possedimento di case da parte di più persone

Il grado di un' associazione rappresenta il numero di tipi di entità legati tra loro dall' associazione
stessa. Un' associazione di grado due si dice associazione binaria; se, invece, il grado è superiore a
due si dice associazione n-aria.

Esempio di un' associazione binaria tra i tipi di entità Cliente e OrdiniCliente


Un identificatore esterno di un tipo
di entità è un insieme di attributi (o
anche uno solo) di cui almeno uno è
un identificatore interno di altri tipi di
entità in associazione.

Ad esempio, il modello concettuale


relativo alla prenotazione dei posti in
un teatro prevede un identificatore
formato dagli attributi settore,
poltrona,fila, ID, dove ID è l'
identificatore interno del tipo di entità Prenotazione associato al tipo di entità Posto.

Classificazione delle associazioni

Le associazioni binarie, in base alla loro cardinalità, possono essere classificate:

uno a molti
molti a molti
uno a uno
Abbiamo poi le

associazioni n-arie
associazioni ricorsive
Associazione uno a molti

In un' associazione uno a molti tra TipoEntitàA e TipoEntitàB, una entità di TipoEntitàA è legata a
molte entità di TipoEntitàB e non viceversa, perchè una entità di TipoEntitàB è legata a una sola
entità di TipoEntitàA.

Esempio di associazione uno a molti relativo al problema "automazione delle gestioni delle
assenze in una scuola"

Associazione molti a molti

In un' associazione molti a molti tra TipoEntitàA e TipoEntitàB, una entità di TipoEntitàA è legata
a molte entità di TipoEntitàB e viceversa una entità di TipoEntitàB è legata a molte entità di
TipoEntitàA.

Esempio di associazione molti a molti relativo al problema "gestione dei docenti, degli
studenti e delle classi in diversi anni scolastici"

Associazioni uno a uno


In un' associazione uno a uno tra TipoEntitàA e TipoEntitàB, una entità di TipoEntitàA è legata a
una sola entità di TipoEntitàB e viceversa una entità di TipoEntitàB è legata a una sola entità di
TipoEntitàA.

Le associazioni uno a uno sono utilizzate anche per separare un gruppo di attributi.

Esempio di associazione uno a molti relativo al problema "automazione delle gestioni dei dati
di un dipendente proteggendo i dati soggetti alla legge sulla privacy"

Associazioni n-arie

Un' associazione tra tre o più tipi


di entità può nascere quando si
riconosce che in un' associazione
un attributo può essere trasformato
in un nuovo tipo di entità
autonomo.

Esempio di associazione molti a


molti tra il tipo Docente e il tipo
Classe, in cui l' attributoMateria
può essere pensato come nuovo
tipo di entità autonomo.
Associazioni ricorsive

Un' associazione ricorsiva è un legame tra logico tra un tipo di entità e se stesso

Esempio di associazioni ricorsive "matrimonio" e "parentela"

Esempio: realizzare un database per la gestione delle partite (e i loro risultati ) di un


campionato a squadre e delle formazioni delle squadre stesse.
Documentazione dello schema ER

Il modello ER deve essere supportato da una documentazione che distinguiamo in due parti:

Un dizionario dei dati che contiene le informazioni relative ai tipi di entità, attributi e
associazioni
un insieme di regole o vincoli di integrità sui dati
Ad esempio nel problema "La regione X intende progettare un database per effettuare delle
indagini statistiche sui lavori svolti dai dipendenti in più azende e nei diversi anni"

Lo schema ER deve seguire le seguenti regole:


R1. Le aziende possono avere sede solo nella regione X
R2. I dipendenti possono solo essere impiegati, quadri, dirigenti oppure operai
R3. ...

Dizionario di dati

Nome dell' elemento Elemento dello schema ER Descrizione


Lavoratore a tempo
Dipendente Tipo di entità indeterminato, determinato o
apprendista
Azienda Tipo di entità Impresa pubblica o privata
Esistenza di un contratto di
Lavoro Associazione lavoro tra un lavoratore e un'
azienda
...... Attributo ......
...... ...... ......

Potrebbero piacerti anche