Corso di Informatica
(Basi di Dati)
Lezione 3 (19 dicembre 2008)
Modello Entità-Relazione:
cardinalità delle relazioni, identificatori
e generalizzazioni
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
una serie di costrutti per descrivere lo
schema della realtà di interesse in
maniera indipendente da come poi i
relativi dati saranno organizzati
sull’elaboratore, cioè indipendentemente
dal modello logico e dal modello fisico.
2
I costrutti del modello E-R
I costrutti del modello E-R sono:
 Entità
 Attributi di Entità
 Relazione
 Attributi di Relazione
 Cardinalità di Relazione
 Identificatori
 Generalizzazioni
3
La cardinalità delle relazioni
Data un’entità E coinvolta in una relazione R
(di grado qualsiasi), il vincolo di cardinalità
esprime il numero minimo m (cardinalità
minima) e il numero massimo M (cardinalità
massima) di occorrenze (istanze) di R a cui
un’occorrenza (istanza) di E può partecipare.
Graficamente si ha:
E
(m,M)
R
...
4
La cardinalità delle relazioni
Nel seguito si farà riferimento a relazioni di
grado 2 (relazioni binarie) che coinvolgono
quindi due sole entità.
Un esempio che meglio chiarisce il concetto in
questione è il seguente. Si consideri lo schema:
Impiegato
(1,5)
Assegnazione
(0,50)
Progetto
Le entità Impiegato e Progetto sono legate dalla
relazione Assegnazione. Si vuole infatti modellare,
per la realtà azienda, il fatto che ogni impiegato sia...5
La cardinalità delle relazioni
…coinvolto in progetti. Un’occorrenza della relazione
Assegnazione è una coppia (I, P), dove I è
un’occorrenza dell’entità Impiegato e P
un’occorrenza dell’entità Progetto. Cioè
all’impiegato I è stato assegnato il progetto P. Il fatto
che il vincolo di cardinalità per Impiegato in
Assegnazione sia (1,5), significa che un’occorrenza di
Impiegato può partecipare da un minimo di 1 volta ad
un massimo di 5 volte ad una occorrenza di
Assegnazione. In altre parole nella realtà modellata
dallo schema precedente, ad un impiegato deve
obbligatoriamente essere assegnato almeno un
progetto ma non gli possono essere assegnati più... 6
La cardinalità delle relazioni
…di 5 progetti.
Allo stesso modo possiamo dire che un’occorrenza
dell’entità Progetto può partecipare da un minimo di
0 volte ad un massimo di 50 volte ad una occorrenza
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. Si considerino le
seguenti istanze di Impiegato, Progetto e
Assegnazione:
Impiegato -> {I1, I2, I3}
Progetto -> {P1, P2, P3, P4, P5}
Assegnazione -> {(I1, P1),(I2, P4),(I3, P2),(I1, P4),(I1, P5),(I3, P5)}7
La cardinalità delle relazioni
…Si può notare che:
 a tutti gli impiegati è assegnato almeno un
progetto e non più di 5 progetti
 tutti i progetti sono assegnati a non più di 50
impiegati (il progetto P3 non è assegnato a nessuno)
In definitiva l’insieme delle occorenze della relazione
Assegnazione della slide precedente rispetta il
vincolo di cardinalità evidenziato nello schema.
8
La cardinalità delle relazioni
I valori maggiormente utilizzati per la cardinalità
minima sono:
 0, significa che la partecipazione è opzionale
 1, significa che la partecipazione è obbligatoria
Nello schema:
Impiegato
(1,5)
Assegnazione
(0,50)
Progetto
9
La cardinalità delle relazioni
…la partecipazione dell’entità Impiegato alla
relazione Assegnazione è obbligatoria, ovvero un
impiegato deve obbligatoriamente essere
coinvolto in un progetto. La partecipazione dell’entità
Progetto alla relazione Assegnazione è invece
opzionale, ovvero un progetto può anche
non essere assegnato a nessun impiegato.
10
La cardinalità delle relazioni
I valori maggiormente utilizzati per la cardinalità
massima sono:
 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
11
La cardinalità delle relazioni
Si consideri ad esempio il nuovo schema:
Impiegato
(1,5)
Assegnazione
(0,N)
Progetto
La differenza con lo schema precedente (in cui la
cardinalità massima di Progetto era 50) è che ora
un’occorrenza di Progetto può partecipare ad un
numero qualsiasi di occorrenze di Assegnazione (non
più limitato a 50).
12
La cardinalità delle relazioni
Si consideri ora il nuovo schema:
Impiegato
(1,1)
Assegnazione
(0,N)
Progetto
In questo caso, rispetto allo schema precedente,
si è portata a 1 la cardinalità massima di Impiegato
in quanto si vuole modellare il fatto che
un’occorrenza di Impiegato può partecipare ad una
sola occorrenza della relazione Assegnazione.
In altre parole un impiegato deve essere coinvolto
obbligatoriamente in un solo progetto.
13
La cardinalità delle relazioni
...Si noti che la coppia (0, N) per le cardinalità
minima e massima di un’entità in una relazione
è equivalente all’assenza del vincolo di cardinalità.
Nello schema precedente, infatti un progetto può
essere assegnato a 0 o ad un qualsivoglia numero di
impiegati.
14
Esempi di vincolo cardinalità
Si consideri il seguente schema:
Persona
(0,N)
Residenza
(0,N)
Città
Potrebbe essere compatibile con la realtà
amministrativa italiana?
NO, perché non è ammesso che una persona in Italia
abbia più città di residenza.
15
Esempi di vincolo cardinalità
Si consideri quest’altro schema:
Persona
(0,1)
Residenza
(0,N)
Città
Potrebbe essere compatibile con la realtà
amministrativa italiana?
SI’, se ammettiamo che non è necessario che la
residenza di un impiegato sia nota (se però è nota
questa è unica)
16
Esempi di vincolo cardinalità
Si consideri quest’altro schema:
Persona
(1,1)
Residenza
(0,N)
Città
Potrebbe essere compatibile con la realtà
amministrativa italiana?
SI’, se ammettiamo che è necessario che la
residenza di un impiegato sia nota è unica
17
Classificazione delle
relazioni binarie
Una relazione R tra due entità E1 ed E2 (grado 2)
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
18
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
19
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
20
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
21
Gli identificatori di entità
Un identificatore di entità è un insieme di
proprietà che identificano univocamente le
istanze dell’entità. Cioè non possono esistere
due istanze dell’entità che assumono lo
stesso valore per tutte le proprietà che
formano l’identificatore.
Nel seguito ci occuperemo solo di
identificatori interni (composti solo da
attributi di entità).
Su ogni entità deve essere definito almeno
22
un identificatore.
Gli identificatori di entità
Si consideri il seguente schema in cui l’entità
Persona ha i seguenti attributi: Codice
fiscale, Cognome, Nome, Residenza.
Cod.Fis.
Cognome
Persona
Nome
Residenza
L’identificatore per Persona può essere
Codice Fiscale (unico attributo)
23
Gli identificatori di entità
Oppure il seguente schema in cui l’entità
Persona ha i seguenti attributi: Cognome,
Nome, Data di nascita, Residenza
Cognome Nome
Persona
Data di nascita
Residenza
L’identificatore per Persona può essere
(Cognome,Nome,Data di Nascita) (tre
attributi)
24
Gli identificatori di entità
Oppure 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 (unico attributo)
25
Gli identificatori di entità
Oppure il seguente schema in cui l’entità
Persona ha i seguenti attributi: Cognome,
Nome, Data di nascita, Residenza
Cognome Nome
Persona
Data di nascita
Residenza
L’identificatore per Persona può essere
(Cognome,Nome,Data di Nascita) (tre
attributi)
26
Gli identificatori di entità
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.
27
Gli identificatori di entità
La rapresentazione grafica di un
identificatore composto da un solo attributo
è l’annerimento del corrispondente pallino
Cod.Fis.
Cognome
Persona
Nome
Residenza
28
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
29
Le generalizzazioni
Un’entità E più generale, rispetto ad un
unico criterio, di n entità E1, E2, …, En, è detta
generalizzazione di E1, E2, …, En. Le
n entità sono dunque specializzazioni di E.
E è detta entità padre ed E1, E2, …, En sono
dette entità figlie (o sottoentità).
Ad esempio le entità Uomo e Donna sono
specializzazioni dell’entità Persona che è
a quindi una generalizzazione di Uomo e
Donna.
30
Le generalizzazioni
La rappresentazione grafica di una
generalizzazione è un arco che collega le
entità figlie tra di loro e una freccia che
collega l’arco all’entità padre
Persona
Uomo
Donna
31
Le generalizzazioni
Valgono le seguenti proprietà:
 ogni occorrenza di un’entità figlia e anche
occorrenza dell’entità padre
 ogni proprietà dell’entità padre (attributi,
identificatori, relazioni e altre
generalizzazioni) è anche proprietà delle
entità figlie -> ereditarietà
32
Le generalizzazioni
Cognome Nome
Matricola
Studente
Data di nascita
Persona
Docente
Ogni attributo di Persona è ereditato da Studente
e in più Studente ha l’attributo Matricola
33
Le generalizzazioni
Una generalizzazione è:
 totale se ogni occorrenza dell’entità padre
è un’occorrenza di almeno una delle entità
figlie, altrimenti è parziale
 esclusiva se ogni occorrenza dell’entità padre
è al più un’occorrenza di una delle entità
figlie, altrimenti è sovrapposta
34
Le generalizzazioni
Esempio di generalizzazione totale
ed esclusiva:
Persona
Uomo
Donna
35
Le generalizzazioni
Esempio di generalizzazione parziale
ed esclusiva:
Persona
Studente
Docente
36
Le generalizzazioni
Esempio di generalizzazione parziale
e sovrapposta:
Persona
Studente
Impiegato
37
Le generalizzazioni
La stessa entità può essere padre in distinte
generalizzazioni
Persona
Uomo
Donna
Studente
Docente
Le due generalizzazioni corrispondono a due criteri diversi
38
di classificazione dell’occorrenze dell’entità padre Persona
Scarica

DatabaseLEZ3