Upload
arrigo-sorrentino
View
216
Download
0
Embed Size (px)
Citation preview
1
Corso di Informatica
(Basi di Dati)Lezione 3 (19 dicembre 2008)
Modello Entità-Relazione:cardinalità delle relazioni, identificatori
e generalizzazioniDa:Atzeni, Ceri, Paraboschi, Torlone - Basi di DatiLucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica,
AA 2007-2008
2
Il modello Entità-RelazioneIl modello Entità-Relazione (modello E-R) è 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.
3
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
4
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 cuiun’occorrenza (istanza) di E può partecipare.Graficamente si ha:
E R ...(m,M)
5
La cardinalità delle relazioni
Nel seguito si farà riferimento a relazioni digrado 2 (relazioni binarie) che coinvolgonoquindi due sole entità.Un esempio che meglio chiarisce il concetto inquestione è il seguente. Si consideri lo schema:
Assegnazione
Le entità Impiegato e Progetto sono legate dallarelazione Assegnazione. Si vuole infatti modellare,per la realtà azienda, il fatto che ogni impiegato sia...
Impiegato Progetto(1,5) (0,50)
6
La cardinalità delle relazioni
…coinvolto in progetti. Un’occorrenza della relazioneAssegnazione è una coppia (I, P), dove I èun’occorrenza dell’entità Impiegato e Pun’occorrenza dell’entità Progetto. Cioèall’impiegato I è stato assegnato il progetto P. Il fattoche il vincolo di cardinalità per Impiegato inAssegnazione sia (1,5), significa che un’occorrenza diImpiegato può partecipare da un minimo di 1 volta adun massimo di 5 volte ad una occorrenza diAssegnazione. In altre parole nella realtà modellatadallo schema precedente, ad un impiegato deveobbligatoriamente essere assegnato almeno unprogetto ma non gli possono essere assegnati più...
7
La cardinalità delle relazioni…di 5 progetti.
Allo stesso modo possiamo dire che un’occorrenzadell’entità Progetto può partecipare da un minimo di0 volte ad un massimo di 50 volte ad una occorrenzadi Assegnazione. Quindi un progetto può anche nonessere assegnato a nessun impiegato (ad esempio unprogetto lanciato da poco tempo) e non può essereassegnato a più di 50 impiegati. Si considerino leseguenti istanze di Impiegato, Progetto eAssegnazione:
Impiegato -> {I1, I2, I3}Progetto -> {P1, P2, P3, P4, P5}Assegnazione -> {(I1, P1),(I2, P4),(I3, P2),(I1, P4),(I1, P5),(I3, P5)}
8
La cardinalità delle relazioni
…Si può notare che:
a tutti gli impiegati è assegnato almeno unprogetto e non più di 5 progetti tutti i progetti sono assegnati a non più di 50impiegati (il progetto P3 non è assegnato a nessuno)
In definitiva l’insieme delle occorenze della relazioneAssegnazione della slide precedente rispetta ilvincolo di cardinalità evidenziato nello schema.
9
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:
AssegnazioneImpiegato Progetto(1,5) (0,50)
10
La cardinalità delle relazioni
…la partecipazione dell’entità Impiegato allarelazione Assegnazione è obbligatoria, ovvero unimpiegato deve obbligatoriamente esserecoinvolto in un progetto. La partecipazione dell’entitàProgetto alla relazione Assegnazione è inveceopzionale, ovvero un progetto può anchenon essere assegnato a nessun impiegato.
11
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 dellarelazione N, significa che le occorrenze dell’entitàpartecipano un qualsivoglia numero di volte alleoccorrenze della relazione
12
La cardinalità delle relazioni
Si consideri ad esempio il nuovo schema:
AssegnazioneImpiegato Progetto(1,5) (0,N)
La differenza con lo schema precedente (in cui lacardinalità massima di Progetto era 50) è che oraun’occorrenza di Progetto può partecipare ad unnumero qualsiasi di occorrenze di Assegnazione (nonpiù limitato a 50).
13
La cardinalità delle relazioni
Si consideri ora il nuovo schema:
AssegnazioneImpiegato Progetto(1,1) (0,N)
In questo caso, rispetto allo schema precedente,si è portata a 1 la cardinalità massima di Impiegatoin quanto si vuole modellare il fatto cheun’occorrenza di Impiegato può partecipare ad unasola occorrenza della relazione Assegnazione.In altre parole un impiegato deve essere coinvoltoobbligatoriamente in un solo progetto.
14
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 diimpiegati.
15
Esempi di vincolo cardinalità
Si consideri il seguente schema:
ResidenzaPersona Città(0,N) (0,N)
Potrebbe essere compatibile con la realtàamministrativa italiana?NO, perché non è ammesso che una persona in Italiaabbia più città di residenza.
16
Esempi di vincolo cardinalità
Si consideri quest’altro schema:
ResidenzaPersona Città(0,1) (0,N)
Potrebbe essere compatibile con la realtàamministrativa italiana?SI’, se ammettiamo che non è necessario che laresidenza di un impiegato sia nota (se però è notaquesta è unica)
17
Esempi di vincolo cardinalità
Si consideri quest’altro schema:
ResidenzaPersona Città(1,1) (0,N)
Potrebbe essere compatibile con la realtàamministrativa italiana?SI’, se ammettiamo che è necessario che laresidenza di un impiegato sia nota è unica
18
Classificazione delle relazioni binarie
Una relazione R tra due entità E1 ed E2 (grado 2)
RE1 E2(m1,M1) (m2,M2)
Viene classificata, sulla base dei valori dellecardinalità massime M1 e M2, in: relazione “uno a uno” se M1= M2=1 relazione “uno a molti” se M1=1 e M2=Nrelazione “molti a molti” se M1=N e M2=N
19
Classificazione delle relazioni binarie
Esempi di relazioni binarie “uno a uno”
DirezioneImpiegato Progetto(0,1) (1,1)
DocenzaProfessore Corso(1,1) (1,1)
20
Classificazione delle relazioni binarie
Esempi di relazioni binarie “uno a molti”
NascitaStudente Città(1,1) (0,N)
UbicazioneComune Provincia(1,1) (1,N)
21
Classificazione delle relazioni binarie
Esempi di relazioni binarie “molti a molti”
EsameStudente Corso(0,N) (0,N)
ScalataMontagna Alpinista(0,N) (1,N)
22
Gli identificatori di entità
Un identificatore di entità è un insieme diproprietà che identificano univocamente leistanze dell’entità. Cioè non possono esisteredue istanze dell’entità che assumono lostesso valore per tutte le proprietà cheformano l’identificatore.Nel seguito ci occuperemo solo diidentificatori interni (composti solo daattributi di entità).Su ogni entità deve essere definito almenoun identificatore.
23
Gli identificatori di entità
Si consideri il seguente schema in cui l’entitàPersona ha i seguenti attributi: Codicefiscale, Cognome, Nome, Residenza.
Persona
Cod.Fis. Cognome Nome
Residenza
L’identificatore per Persona può essereCodice Fiscale (unico attributo)
24
Gli identificatori di entità
Oppure il seguente schema in cui l’entitàPersona ha i seguenti attributi: Cognome,Nome, Data di nascita, Residenza
L’identificatore per Persona può essere(Cognome,Nome,Data di Nascita) (treattributi)
Persona
CognomeNome Data di nascita
Residenza
25
Gli identificatori di entità
Oppure il seguente schema in cui l’entitàAutomobile ha i seguenti attributi: Targa,Modello, Colore.
Automobile
Targa Modello Colore
L’identificatore per Automobile può essereTarga (unico attributo)
26
Gli identificatori di entità
Oppure il seguente schema in cui l’entitàPersona ha i seguenti attributi: Cognome,Nome, Data di nascita, Residenza
L’identificatore per Persona può essere(Cognome,Nome,Data di Nascita) (treattributi)
Persona
CognomeNome Data di nascita
Residenza
27
Gli identificatori di entità
Per un’entità, l’insieme di tutti i suoiattributi costituisce banalmente unidentificatore in quanto si suppone che nonpossano esistere due occorrenzecompletamente coincidenti.
28
Gli identificatori di entità
La rapresentazione grafica di unidentificatore composto da un solo attributoè l’annerimento del corrispondente pallino
Persona
Cod.Fis. Cognome Nome
Residenza
29
Gli identificatori di entità
La rapresentazione grafica di unidentificatore composto da più attributiè una linea che unisce gli attributi e chetermina con un pallino annerito
Persona
CognomeNome Data di nascita
Residenza
30
Le generalizzazioniUn’entità E più generale, rispetto ad ununico criterio, di n entità E1, E2, …, En, è dettageneralizzazione di E1, E2, …, En. Len entità sono dunque specializzazioni di E.E è detta entità padre ed E1, E2, …, En sonodette entità figlie (o sottoentità).
Ad esempio le entità Uomo e Donna sonospecializzazioni dell’entità Persona che èa quindi una generalizzazione di Uomo eDonna.
31
Le generalizzazioniLa rappresentazione grafica di unageneralizzazione è un arco che collega leentità figlie tra di loro e una freccia checollega l’arco all’entità padre
Persona
Uomo Donna
32
Le generalizzazioniValgono le seguenti proprietà:
ogni occorrenza di un’entità figlia e ancheoccorrenza dell’entità padre ogni proprietà dell’entità padre (attributi,identificatori, relazioni e altregeneralizzazioni) è anche proprietà delleentità figlie -> ereditarietà
33
Le generalizzazioni
Persona
Studente Docente
CognomeNome Data di nascita
Matricola
Ogni attributo di Persona è ereditato da Studentee in più Studente ha l’attributo Matricola
34
Le generalizzazioniUna 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
35
Le generalizzazioniEsempio di generalizzazione totaleed esclusiva:
Persona
Uomo Donna
36
Le generalizzazioniEsempio di generalizzazione parzialeed esclusiva:
Persona
Studente Docente
37
Le generalizzazioniEsempio di generalizzazione parzialee sovrapposta:
Persona
Studente Impiegato
38
Le generalizzazioniLa stessa entità può essere padre in distintegeneralizzazioni
Persona
Uomo Donna Studente Docente
Le due generalizzazioni corrispondono a due criteri diversidi classificazione dell’occorrenze dell’entità padre Persona