Corso di Laurea in Biotecnologie
Informatica
(Basi di Dati)
Modello Entità-Relazione
Anno Accademico 2009/2010
Da:
• Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati
• Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008
1
Il modello Entità-Relazione
Il modello Entità-Relazione (modello ER) è un modello concettuale che fornisce
i costrutti per descrivere la realtà di
interesse in maniera indipendente da
come poi i relativi dati saranno
organizzati logicamente e fisicamente
nella Base di Dati, cioè
indipendentemente dal modello logico e
dal modello fisico.
2
I costrutti del modello E-R
I costrutti del modello E-R (che vedremo)
sono:
 Entità
 Attributo di Entità
 Relazione
 Attributo di Relazione
 Cardinalità di Relazione
 Identificatori
3
L’entità
Il costrutto di entità permette di rappresentare
una classe di oggetti (cioè fatti, persone,
cose, etc.) che appartengono ad una realtà e che:
 hanno proprietà comuni
 hanno esistenza autonoma
 sono di interesse per l’applicazione
Ad esempio si può scegliere di descrivere:
 un’azienda tramite le seguenti entità:
Impiegato, Dipartimento, Città, etc.
 un’università tramite le seguenti entità:
Studente, Corso, Docente, etc.
4
L’entità
Un’istanza di entità (od occorrenza di entità)
è un oggetto appartenente alla classe che
l’entità rappresenta
Ad esempio un’istanza dell’entità Impiegato è
l’impiegato Mario Rossi, un’istanza dell’entità
Studente è lo studente Luca Bianchi e una dell’entità
Corso è il corso di Informatica per il corso di
Laurea in Biotecnologie
5
L’entità
La rappresentazione grafica di un’entità,
in uno schema di descrizione della realtà di
interesse, è un rettangolo con al centro il
nome che la identifica univocamente l’entità.
Ad esempio:
Impiegato
Città
Studente
Corso
6
Un esempio
Vogliamo schematizzare tramite il modello E-R le
seguenti entità coinvolte in una realtà universitaria:
 gli studenti della laurea breve e quelli della specialistica
 i professori (associati e ordinari)
 il personale tecnico e amministrativo
Studente
Laurea Breve
Studente Laurea
Specialistica
Amministrativo
Professore
Associato
Professore
Ordinario
Tecnico
7
L’attributo di Entità
L’attributo di entità permette di descrivere
una proprietà elementare di un’entità, il cui
valore varia da istanza a istanza dell’entità.
L’insieme dei valori ammissibili per un dato
attributo prende il nome di dominio dell’attributo.
Ad esempio, l’entità Impiegato può avere i seguenti attributi:
Cognome, Nome, Stipendio, Età. L’entità Studente può avere i
seguenti attributi: Matricola, Cognome, Nome, Data di nascita,
Comune di Residenza. Il dominio dell’attributo Cognome delle entità
Impiegato e Studente può essere l’insieme delle stringhe di 20
caratteri a-z e A-Z. Il dominio dell’attributo Età di Impiegato può essere
l’insieme dei numeri interi compresi tra 18 e 65. Un particolare studente
(un’istanza dell’entità Studente) può avere i seguenti valori dei suoi
attributi: “1111”, “Rossi”, “Luca”, “13/06/1990”, “Milano”.
8
L’attributo di Entità
La rappresentazione grafica di un attributo
di entità, in uno schema di descrizione della
realtà di interesse, è un cerchio collegato
all’entità e identificato univocamente tramite
un nome. Ad esempio:
Cognome Nome Età
Stipendio
Impiegato
9
Un esempio
Le due entità Studente Laurea Breve e
Studente Laurea Specialistica, dell’esempio
Precedente, possiedono gli attributi Matricola,
Cognome, Nome, Data di nascita, Comune di
Residenza.
Studente
Laurea Breve
Matricola
Cognome
Nome
Data di nascita
Comune di Residenza
Studente Laurea
Specialistica
Matricola
Cognome
Nome
Data di nascita
Comune di Residenza
10
L’esempio precedente...
E se si volessero rappresentare tutti gli
studenti tramite l’unica entità Studente,
mantenendo però la distinzione tra i due tipi
di laurea? Basta aggiungere un nuovo attributo
che specifica il tipo di laurea
Studente
Matricola
Cognome
Nome
Data di nascita
Comune di Residenza
Tipo di laurea
11
Il costrutto di Relazione
Il costrutto di relazione permette di
evidenziare un’associazione (o legame) tra n
entità E1, E2,…, En. Se n=2, la relazione è
binaria.
Ad esempio, tra le due entità Studente e Corso
Si può evidenziare una relazione di esame.
La residenza è una relazione tra Impiegato e Città,
e la sede di lavoro è una seconda relazione tra
Impiegato e Città.
Il grado di una relazione è definito come il
numero di entità coinvolte.
12
Il costrutto di Relazione
Un’occorrenza di relazione (o istanza di
relazione) è una n-pla (coppia se n=2)
costituita da n occorrenze di entità, una per
ciascuna delle entità coinvolte.
Ad esempio, si consideri un modello E-R di un’azienda
composto dalle tre entità E1=Fornitore, E2=Prodotto,
E3=Dipartimento. Tra di esse esiste la relazione
Fornitura. Una possibile occorrenza della relazione
Fornitura è la tripletta (“Rossi”, “Stampante”,
“Ricerca”), dove “Rossi” è un’occorrenza
dell’entità Fornitore, “Stampante” è un’occorrenza 
13
Il costrutto di Relazione
 dell’entità Prodotto, e “Ricerca” è un’occorrenza
dell’entità Dipartimento. In altre parole,il fornitore
Rossi ha venduto una stampante al Dipartimento
di Ricerca.
Un secondo esempio: si consideri il modello E-R di
un’università. Tra le entità Studente e Corso sussiste
la relazione Esame. Quindi una possibile occorrenza
della relazione Esame è data dalla coppia (“Luca
Bianchi”, “Informatica”) dove “Luca Bianchi” è una
occorrenza dell’entità Studente e “Informatica” è
un’occorrenza dell’entità Corso. In altre parole lo
Studente Luca Bianchi ha sostenuto l’esame
14
di Informatica.
Il costrutto di Relazione
La rappresentazione grafica di una relazione,
in uno schema di descrizione della realtà di
interesse, è un rombo contenente il nome
che identifica univocamente la relazione, e
collegato alle entità coinvolte.
Ad esempio:
Studente
Esame
Corso
15
L’attributo di Relazione
L’attributo di relazione permette di
descrivere una proprietà elementare di una
relazione, il cui valore varia da istanza a
istanza. L’insieme dei valori ammissibili per un
attributo prende il nome di dominio
dell’attributo.
Ad esempio la relazione Esame può avere come possibili attributi
Data e Voto. Il dominio dell’attributo Voto può essere
l’insieme degli interi tra 18 e 30.
Attenzione! L’attributo di una relazione NON è una proprietà
delle entità coinvolte, ma è una proprietà del loro legame
16
Un esempio
Le due entità Studente e Corso sono legate
dalla relazione Esame che ha Data e Voto
come attributi.
Data
Studente
Voto
Esame
Corso
Ad esempio l’istanza (“Luca Bianchi”, “Informatica”) di Esame,
ha 30 come valore dell’attributo Voto e “25/02/2008”
come valore dell’attributo Data.
17
La cardinalità delle relazioni
Data un’entità E coinvolta in una relazione R
(di grado n qualsiasi), la cardinalità
permette di esprimere il numero minimo m
(cardinalità minima) e il numero massimo M
(cardinalità massima) di istanze di R a cui
un’istanza di E può partecipare (è un vincolo!).
Graficamente si ha:
E
(m,M)
R
...
18
La cardinalità delle relazioni
Ad esempio, nel seguente schema E-R di una certa
azienda, l’entità Impiegato è legata all’entità Progetto
tramite la relazione Assegnazione. Questo schema
modellizza il fatto che in un’azienda ogni impiegato è
coinvolto in qualche progetto. Un’istanza della
relazione Assegnazione è una coppia (I, P), dove I è
un’istanza dell’entità Impiegato e P un’istanza
dell’entità Progetto. 
Impiegato
(1,5)
Assegnazione
(0,50)
Progetto
19
La cardinalità delle relazioni
In altre parole, all’impiegato I è stato assegnato
il progetto P. Il fatto che il vincolo di cardinalità per
l’entità Impiegato coinvolto nella relazione
Assegnazione sia (1,5), significa che un’istanza di
Impiegato può partecipare da un minimo di 1 volta ad
un massimo di 5 volte ad un’istanza di
Assegnazione. Con tale schema si vuole cioè
modellizzare il fatto che, nell’azienda in questione,
ad un certo impiegato deve obbligatoriamente
essere assegnato almeno un progetto ma non gli
possono essere assegnati più di 5 progetti. 
20
La cardinalità delle relazioni
Allo stesso modo possiamo dire che un’istanza
dell’entità Progetto può partecipare da un minimo di
0 volte ad un massimo di 50 volte ad un’istanza
di Assegnazione. Quindi un progetto può anche non
essere assegnato a nessun impiegato (ad esempio un
progetto lanciato da poco tempo) e non può essere
assegnato a più di 50 impiegati.
21
La cardinalità delle relazioni
Valori interessanti di cardinalità minima m:
 0, significa che la partecipazione è opzionale
 1, significa che la partecipazione è obbligatoria
Nello schema
Impiegato
(1,5)
Assegnazione
(0,50)
Progetto
la partecipazione dell’entità Impiegato alla relazione Assegnazione è
perciò obbligatoria, cioè un impiegato deve obbligatoriamente essere
coinvolto in un progetto. La partecipazione dell’entità Progetto alla
relazione Assegnazione è invece opzionale, cioè un progetto può anche
22
non essere assegnato a nessun impiegato.
La cardinalità delle relazioni
Valori interessanti di cardinalità massima M:
 1, significa che le occorrenze dell’entità
partecipano al più 1 volta alle occorrenze della
relazione
 N, significa che le occorrenze dell’entità
partecipano un qualsivoglia numero di volte alle
occorrenze della relazione

23
La cardinalità delle relazioni
Nello schema
Impiegato
(1,1)
Assegnazione
(0,N)
Progetto
l’entità Progetto può partecipare ad un numero qualsiasi
di istanze di Assegnazione (non più limitato a 50 come
nello schema precedente), cioè un progetto può essere
assegnato ad un qualsivoglia numero di impiegati. L’entità
Impiegato può partecipare invece ad una sola istanza
della relazione Assegnazione e quindi un impiegato
dell’azienda deve essere coinvolto in un solo progetto.
24
La cardinalità delle relazioni
NOTA BENE: la coppia (0, N) per
la cardinalità minima e massima di
un’entità in una relazione è
equivalente all’assenza di vincolo
di cardinalità.
25
Qualche esempio
Il seguente schema E-R
Persona
(0,N)
Residenza
(0,N)
Città
potrebbe rappresentare uno schema concettuale
compatibile con la realtà amministrativa italiana?
NO, perché non è ammesso che una persona in Italia
abbia più città di residenza.
26
Qualche esempio
Il seguente schema E-R
Persona
(0,1)
Residenza
(0,N)
Città
potrebbe rappresentare uno schema concettuale
compatibile con la realtà amministrativa italiana?
SI’, se ammettiamo che non è necessario che la
residenza di un impiegato sia nota.
27
Qualche esempio
Il seguente schema E-R
Persona
(1,1)
Residenza
(0,N)
Città
potrebbe rappresentare uno schema concettuale
compatibile con la realtà amministrativa italiana?
SI’, perché in Italia la residenza deve essere nota
e unica. Quindi questo schema modellizza meglio del
Precedente la realtà amministrativa italiana.
28
Classificazione delle
relazioni binarie
Una relazione R tra due entità E1 ed E2 ,cioè binaria
E1
(m1,M1)
R
(m2,M2)
E2
viene classificata, sulla base dei valori delle
cardinalità massime M1 e M2, in:
 relazione “uno a uno” se M1= M2=1
 relazione “uno a molti” se M1=1 e M2=N
relazione “molti a molti” se M1=N e M2=N
29
Classificazione delle
relazioni binarie
Esempi di relazioni binarie “uno a uno”
Impiegato
Professore
(0,1)
(1,1)
Direzione
Docenza
(1,1)
(1,1)
Progetto
Corso
30
Classificazione delle
relazioni binarie
Esempi di relazioni binarie “uno a molti”
Studente
Comune
(1,1)
(1,1)
Nascita
Ubicazione
(0,N)
(1,N)
Città
Provincia
31
Classificazione delle
relazioni binarie
Esempi di relazioni binarie “molti a molti”
Studente
Montagna
(0,N)
(0,N)
Esame
Scalata
(0,N)
(1,N)
Corso
Alpinista
32
Gli identificatori di entità
Un identificatore di entità permette di
specificare un insieme di proprietà che
identificano univocamente le istanze dell’entità,
in maniera tale che non possano esistere due
istanze dell’entità che assumono lo
stesso valore per l’insieme di proprietà che
compongono l’identificatore.
Nel seguito ci occuperemo solo di
identificatori interni, cioè di identificatori
composti da attributi di entità.
Su ogni entità di uno schema E-R deve essere
definito almeno un identificatore.
33
Gli identificatori di entità
Si consideri il seguente schema in cui l’entità
Persona ha i seguenti attributi: CodiceFiscale,
Cognome, Nome, Residenza.
CodiceFiscale Cognome
Persona
Nome
Residenza
L’identificatore per Persona può essere
CodiceFiscale (un solo attributo)
34
Gli identificatori di entità
Si consideri il seguente schema in cui l’entità
Persona ha i seguenti attributi: Cognome,
Nome, DataNascita, Residenza.
Cognome Nome
Persona
DataNascita
Residenza
L’identificatore per Persona può essere
(Cognome,Nome,Data di Nascita) (tre
attributi)
35
Gli identificatori di entità
Si consideri il seguente schema in cui l’entità
Automobile ha i seguenti attributi: Targa,
Modello, Colore.
Targa
Modello
Colore
Automobile
L’identificatore per Automobile può essere
Targa (un solo attributo)
36
Gli identificatori di entità
NOTA BENE: per un’entità, l’insieme di tutti
i suoi attributi costituisce banalmente un
identificatore in quanto si suppone che non
possano esistere due occorrenze
completamente coincidenti.
37
Gli identificatori di entità
La rapresentazione grafica di un
identificatore composto da un solo attributo
è l’annerimento del corrispondente pallino
CodiceFiscale Cognome
Persona
Nome
Residenza
38
Gli identificatori di entità
La rapresentazione grafica di un
identificatore composto da più attributi
è una linea che unisce gli attributi e che
termina con un pallino annerito
Cognome Nome
Persona
Data di nascita
Residenza
39
Scarica

ModelloE-R