C di B i di d ti 1 Corso di Basi di dati 1 2.1. Il modello Entita

Transcript

C di B i di d ti 1 Corso di Basi di dati 1 2.1. Il modello Entita
Corso di Basi
C
B i di dati
d ti 1
2.1. Il modello Entita’ Relazione (72)
Basics
Basi di Dati
Progettazione concettuale - 1
Costrutti fondamentali del modello
Entità-Relazione
1. Entità
2. Attributi di entità
3. Relazioni
4. Attributi di relazione
5. IS-A e Generalizzazioni
Basi di Dati
Progettazione concettuale - 2
1
Il concetto di entità
Una entità è una classe di oggetti (fatti, persone,
cose) che:
•sono di interesse p
per l’applicazione,
pp
,
•hanno esistenza autonoma, e che
•hanno proprietà comuni
Esempi:
impiegato
vendita
dipartimento
ordine
città
studente
Basi di Dati
Progettazione concettuale - 3
Rappresentazione grafica di entità
Ogni entità ha nome che la identifica in modo univoco
nello schema, ed è rappresentata graficamente da un
rettangolo nel diagramma che descrive lo schema stesso
Esempi:
Impiegato
Dipartimento
Città
Acquisto
Basi di Dati
Progettazione concettuale - 4
2
Entità e istanze d’entità
• Una entità (nello schema concettuale S) denota un
insieme (o classe) di oggetti
gg
“simili”
• Una istanza dell’entità (in una istanza di S) denota un
oggetto dell’insieme rappresentato dall’entità
Nota: nello schema concettuale rappresentiamo le
entità, non le singole istanze (“astrazione”)
Basi di Dati
Progettazione concettuale - 5
Entità, commenti
• Ogni entità ha un nome che la identifica univocamente
nello schema:
– Nomi espressivi (es. Impiegato e non Imp o I05)
– Nomi singolari
Basi di Dati
Progettazione concettuale - 6
3
Esempio
• Vogliamo rappresentare in uno schema Entita’ Relazione diversi
aspetti della vita universitaria:
– Gli studenti, suddivisi in due gruppi, quelli della laurea breve e
quelli della
qu
a laurea
aur a specialistica.
p c a t ca.
– I professori, suddivisi in professori associati e professori
ordinari
– Il personale amministrativo ed il personale tecnico
•
Come rappresentiamo questi aspetti? Con quanti concetti?
Studente
Laurea breve
Studente
Laurea spec.
Professore
associato
Amministrativo
Basi di Dati
Professore
ordinario
Tecnico
Progettazione concettuale - 7
Il concetto di attributo di entità
• Un attributo di entità è una proprietà locale di
un’entità, di interesse ai fini dell’applicazione,
cioe’ una proprieta
cioe
proprieta’ il cui valore in ogni istanza
della entita’ dipende solamente dall’istanza della
entita’, e non da altri elementi dello schema
• Ad esempio Eta’ del professore dipende solo dal
singolo
g
professore.
p
• Il valore dell’ attributo appartiene a un dominio,
detto dominio dell’attributo (es. intero,
enumerato, ecc.). Es. per Eta’ il dominio [0,120]
Basi di Dati
Progettazione concettuale - 8
4
Rappresentazione grafica di attributo
Ogni attributo di entità ha nome che lo identifica in
modo univoco nell’ambito della entità, ed è rappresentato
d un cerchio
da
hi collegato
ll
t alla
ll entità
tità a cuii appartiene.
ti
Esempi:
Cognome
Età Stipendio
Impiegato
Basi di Dati
Progettazione concettuale - 9
Esempio
• Se nel nostro schema della universita’ vogliamo
rappresentare per gli studenti della laurea breve e della
p
il nome,, cognome,
g
, matricola,, data di
laurea specialistica
nascita e comune di residenza, come facciamo?
Studente
Laurea breve
Studente
Laurea spec.
Basi di Dati
Progettazione concettuale - 10
5
Esempio
• Se nel nostro schema della universita’ vogliamo
rappresentare per gli studenti della laurea breve e della
laurea specialistica
p
il nome,, cognome,
g
, matricola,, data di
nascita e comune di residenza, come facciamo?
Studente
Laurea breve
Nome
Cognome
Data nascita
Comune residenza
Studente
Laurea spec.
Nome
Cognome
Data nascita
Comune residenza
Basi di Dati
Progettazione concettuale - 11
Esempio
• Potremmo rappresentare la stessa realta’ con una sola entita’? Se si,
come?
Nome
Cognome
Data nascita
Studente
Laurea breve
Comune residenza
Nome
Cognome
Data nascita
Studente
Laurea spec.
Comune residenza
Studente
universitario
Basi di Dati
Nome
Cognome
Data nascita
Comune residenza
Tipo laurea
Progettazione concettuale - 12
6
Esercizio 1
• E se vogliamo rappresentare tutti gli studenti di tutte le universita’
italiane
N
Nome
Cognome
Studente
universitario
Data nascita
Comune residenza
Tipo laurea
Nome
Cognome
Studente
universitario
Data nascita
Comune residenza
Tipo laurea
Universita’
Basi di Dati
Progettazione concettuale - 13
Il concetto di relazione
Una relazione (o associazione) si definisce su due o
più entità, e rappresenta un legame logico fra tali
entità Il numero di entità coinvolte in una
entità.
relazione determina il suo grado (2,3,4, …)
Esempi
Residenza (tra Persona e Città), con grado 2
Afferenza (tra Impiegato e Dipartimento),
con grado 2
Basi di Dati
Progettazione concettuale - 14
7
Sintassi: rappresentazione grafica di relazione
Ogni relazione ha un nome che la identifica in modo
univoco nello schema, ed è rappresentata nel diagramma
che descrive lo schema da un rombo collegato alle entità
sulle quali è definita la relazione
Esempio di relazione di grado 2 (relazione binaria):
Cognome
Nome
Età
Studente
EsameSuperato
Basi di Dati
Crediti
Corso
Progettazione concettuale - 15
Notazione
• Nel libro di Atzeni et al. le relazioni sono chiamate
relationship (per non confonderle con le relazioni nel
modello relazionale))
Basi di Dati
Progettazione concettuale - 16
8
Relazione a livello di istanze
(S1,C1)
(S2,C2)
S1
S3
S2
S4
(S2,C3)
(S3 C3)
(S3,C3)
C4
C1
C2
C3
EsameSuperato
Corso
Studente
Basi di Dati
Progettazione concettuale - 17
Relazione, commenti
• Ogni relationship ha un nome che la identifica
univocamente nello schema:
– nomi espressivi
– opportune convenzioni
• singolare
• sostantivi invece che verbi (se possibile e
naturale)
• Es: Supera Æ Esame Superato
Basi di Dati
Progettazione concettuale - 18
9
Due entità possono essere coinvolte
in più relazioni
Esempio:
Sede di
lavoro
Impiegato
Residenza
Città
“Sede di Lavoro” e “Residenza” rappresentano due legami
diversi tra le stesse entità “Impiegato” e “Città”
Basi di Dati
Progettazione concettuale - 19
Esercizio
Come possiamo rappresentare, tra studenti e corsi,
i due legami logici di:
•corso
corso che frequenta quest
quest’anno
anno
•e corso frequentato negli anni scorsi ?
Frequentato
In passato
Studente
Frequenta
Basi di Dati
Corso
Progettazione concettuale - 20
10
Il concetto di attributo di relazione
• Un attributo di relazione è una proprietà locale di
una relazione, di interesse ai fini dell’applicazione
• Un attributo della relazione R tra le entita
E1,E2,…,En modella una proprietà non di E1, non di
E2,…, non di En, ma del legame logico tra E1,E2,…,En
rappresentato da R
• Un attributo di relazione e’ una funzione che
associa ad ogni istanza di relazione un valore
appartenente ad un insieme detto dominio
dell’attributo
Basi di Dati
Progettazione concettuale - 21
Sintassi: rappresentazione grafica di
attributo di relazione
Ogni attributo di relazione ha un nome che lo identifica
in modo univoco nell’ambito della relazione, ed è
rappresentato
t t d
da un cerchio
hi collegato
ll
t alla
ll relazione
l i
a cuii
appartiene.
Esempio
Cognome
Età
Studente
Voto
EsameSuperato
Basi di Dati
Nome
Crediti
Corso
Progettazione concettuale - 22
11
Esercizio 1: un semplice schema concettuale
Descrivere lo schema concettuale della seguente
realtà:
I docenti hanno un codice fiscale ed una età. I
docenti operano nei corsi di laurea (si dice che
afferiscono ai corsi di laurea). Interessa l’
afferenza dei docenti ai corsi di laurea, con la
relativa data di inizio. I corsi di laurea hanno un
codice ed un nome, ed appartengono alle facoltà.
Ogni facoltà ha un nome.
Basi di Dati
Progettazione concettuale - 23
Scelta delle entita’
I docenti hanno un codice fiscale ed una età. I
docenti operano nei corsi di laurea (si dice che
afferiscono ai corsi di laurea). Interessa l’
afferenza dei docenti ai corsi di laurea, con la
relativa data di inizio. I corsi di laurea hanno un
codice ed un nome, ed appartengono alle facoltà.
Ogni
g facoltà ha un nome e un preside.
p
Basi di Dati
Progettazione concettuale - 24
12
Esercizio 1: soluzione
CodiceFiscale
Nome
Età
Docente
Codice
CorsoDiLaurea
Nome
Preside
Basi di Dati
Facoltà
Progettazione concettuale - 25
Scelta delle relazioni
I docenti hanno un codice fiscale ed una età. I
docenti operano nei corsi di laurea (si dice che
afferiscono ai corsi di laurea). Interessa l’
afferenza dei docenti ai corsi di laurea, con la
relativa data di inizio. I corsi di laurea hanno un
codice ed un nome, ed appartengono alle facoltà.
Ogni facoltà ha un nome e un preside.
Basi di Dati
Progettazione concettuale - 26
13
Esercizio 1: soluzione
Nome
CodiceFiscale Età
Docente
Afferenza
Codice
CorsoDiLaurea
Appartenenza
Nome
Preside
Basi di Dati
Facoltà
Progettazione concettuale - 27
Scelta degli attributi di relazioni
I docenti hanno un codice fiscale ed una età. I
docenti operano nei corsi di laurea (si dice che
afferiscono ai corsi di laurea). Interessa l’
afferenza dei docenti ai corsi di laurea, con la
relativa data di inizio. I corsi di laurea hanno un
codice ed un nome, ed appartengono alle facoltà.
Ogni facoltà ha un nome e un preside.
Basi di Dati
Progettazione concettuale - 28
14
Esercizio 1: soluzione
CodiceFiscale Età
Docente
Nome
Data
Afferenza
Codice
CorsoDiLaurea
Appartenenza
Nome
Facoltà
Preside
Basi di Dati
Progettazione concettuale - 29
Scelta tra entità e attributo
Un concetto verrà modellato come
• una entità
– se le sue istanze sono concettualmente significative
indipendentemente da altre istanze
– se ha o potrà avere in futuro delle proprietà
indipendenti dagli altri concetti
– se il concetto è importante nell’applicazione
• un attributo di una entità o relazione
– se le sue istanze non sono concettualmente
significative
– se non ha senso considerare una sua istanza
indipendentemente da altre istanze (Eta’ = 25 ha
esistenza indipendente?)
– se serve solo a rappresentare una proprietà locale
di un altro concetto
Basi di Dati
Progettazione concettuale - 30
15
Scelta tra entità e attributo
Le scelte possono cambiare durante l’analisi. Esempio:
Nome Codice CittàNascita
Persona
Interessa anche la regione:
Città diventa una entità
Nascita
Persona
Nome
Città
Nome
Codice
Basi di Dati
Regione
Progettazione concettuale - 31
Scelta tra entità e attributo
Le scelte possono cambiare durante l’analisi. Esempio:
Cognome Codice CittàNascita
Nome
Persona
Budget
Dipartimento
Interessa anche la città in
cui ha sede un dipartimento
Persona
Nascita
Cognome Codice
Città
Nome
Basi di Dati
Sede
Dipartimento
Nome Budget
Progettazione concettuale - 32
16
Scelta tra entità e relazione
Un concetto verrà modellato come
• una entità
– se le sue istanze sono concettualmente significative
g
indipendentemente da altre istanze
– se ha o potrà avere delle proprietà indipendenti dagli
altri concetti
– se ha o potrà avere relazioni con altri concetti
• una relazione
– se le sue istanze non sono concettualmente
significative indipendentemente da altre istanze,
cioè se le sue istanze rappresentano insiemi di altre
istanze
– se non ha senso pensare alla partecipazione delle sue
instanze ad altre relazioni
Basi di Dati
Progettazione concettuale - 33
Relazione (o legame) Is-A (o ISA)
tra entita’
Basi di Dati
Progettazione concettuale - 34
17
Relazione ISA tra entità
• Fino ad ora non abbiamo detto nulla sul fatto se due
entità possano o no avere istanze in comune
• E’
E facile verificare che,
che in molti contesti,
contesti può
accadere che tra due classi rappresentate da due
entità nello schema concettuale sussista la relazione
IS-A (o relazione di sottoinsieme), e cioè che ogni
istanza di una sia anche istanza dell’altra. (Es.
Studente, Studente della laurea breve)
• La relazione IS-A nel modello ER si può definire tra
due entità, che si dicono “entità padre” ed “entità
figlia” (o sottoentità, cioè quella che rappresenta un
sottoinsieme della entità padre) (Es Studente e’
entita’ padre di Studente della laurea breve)
Basi di Dati
Progettazione concettuale - 35
Sintassi: rappresentazione grafica della
relazione IS-A tra entità
La relazione ISA si rappresenta nel diagramma
dello schema concettuale mediante una freccia
dalla sottoentità alla entità padre
Esempio
Persona
Si dice che Studente è
in relazione IS-A con
Persona o
Persona,
o, in
alternativa, che
Studente IS-A Persona
Studente
Basi di Dati
Progettazione concettuale - 36
18
Ereditarietà su entità nel modello ER
Principio di ereditarietà: ogni proprietà dell’entità padre
(attributo, relazione, ecc.) è anche una proprietà della
sottoentità, e non si riporta esplicitamente nel diagramma.
L’entità
L
entità figlia può avere ovviamente ulteriori proprietà
Dal fatto che
1. Ogni istanza di Persona
ha una Età
2. Ogni istanza di Studente
è istanza di Persona
g logicamente
g
che
segue
3. Ogni istanza di Studente
ha una Età
Cognome
Età
Persona
Cognome,
Età ereditati
da Persona,
Matricola
ulteriore
proprietà
Studente
Matricola
Basi di Dati
Progettazione concettuale - 37
Generalizzazione tra entita’
Basi di Dati
Progettazione concettuale - 38
19
Generalizzazione tra entità
Finora, abbiamo considerato la relazione ISA
che stabilisce che l’entità padre è più generale
della sottoentità.
sottoentità Talvolta,
Talvolta però,
però ll’entità
entità padre
può generalizzare diverse sottoentità rispetto
ad un unico criterio. In questo caso si parla di
generalizzazione.
Basi di Dati
Progettazione concettuale - 39
Rappresentazione della generalizzazione
La generalizzazione si indica collegando mediante un arco le
sottoentità, e collegando con una freccia tale arco alla entità
padre.
Esempio
Entità
padre
Persona
Sottoentit
à
Sottoentit
à
Uomo
Donna
Basi di Dati
Progettazione concettuale - 40
20
Tipi di generalizzazione tra entità
Una generalizzazione può essere di due tipi:
• Completa: l’unione delle istanze delle
sottoentità
tt
tità è uguale
l all’insieme
ll’i i
delle
d ll
istanze dell’entità padre
• Non completa
Basi di Dati
Progettazione concettuale - 41
Esempio di generalizzazione completa
La generalizzazione si indica collegando mediante un arco le
sottoentità, e collegando con una freccia tale arco alla entità
padre. La freccia è annerita se la generalizzazione è
completa.
Esempio
Generalizzazion
e
completa
Entità
padre
Persona
Sottoentit
à
Sottoentit
à
Uomo
Donna
Basi di Dati
Progettazione concettuale - 42
21
Esempio di generalizzazione non completa
La freccia non è annerita se la generalizzazione non è
completa. Facciamo l’esempio delle persone che operano
alla universita’.
E
Esempio
i
Generalizzazione
non completa,
perche’ ci sono
anche i non docenti
Entità
padre
Persona
Sottoentit
à
Sottoentit
à
Studente
Docente
Basi di Dati
Progettazione concettuale - 43
Generalizzazioni ed ereditarietà
Il principio di ereditarietà vale anche per le generalizzazioni:
ogni proprietà dell’entità padre è anche una proprietà della
sottoentità, e non si riporta esplicitamente nel diagramma.
L’entità figlia può avere ovviamente ulteriori proprietà.
Cognome
Età
Persona
Nome
Sede
Regione
Città
Codice
Studente
Docente
Insegna
Corso
Matricola
Basi di Dati
Progettazione concettuale - 44
22
Diverse generalizzazioni della stessa classe
La stessa entità può essere padre in diverse
generalizzazioni
Persona
Uomo
Donna
Impiegato
Studente
Concettualmente, non c’è alcuna correlazione tra due
generalizzazioni diverse, perchè rispondono a due
criteri diversi di classificare le istanze della entità
padre
Basi di Dati
Progettazione concettuale - 45
Differenza tra due is-a e una generalizzazione
Persona
Uomo
Donna
Impiegato
Le due sottoclassi derivano da
uno stesso criterio di classificazione
delle istanze della superclasse
Sportivo
Le due sottoentità sono indipendenti,
nel senso che il loro significato non
deriva dallo stesso criterio di
classificazione delle istanze della
entità padre
Basi di Dati
Progettazione concettuale - 46
23
Fine ora 2 sul modello ER
Basi di Dati
Progettazione concettuale - 47
Cardinalita’
C
d l ’ delle
d ll entita’’
nelle relazioni
Basi di Dati
Progettazione concettuale - 48
24
Cardinalita’ nella vita di tutti i giorni
Prendiamo uno qualunque di voi.
Quanti indirizzi di residenza avete (come
minimo e come massimo, analogamente per
le altre domande)?
Quanti libri avete nella vostra biblioteca?
Quanti giornali comprati alla edicola leggete
all giorno?
i
?
Quanti piedi avete?
Basi di Dati
Progettazione concettuale - 49
Cardinalità (minima e massima):
definizione
Un vincolo di cardinalità tra una entita’ E e una
relazione R esprime un limite minimo (cardinalita’
minim ) ed
minima)
d un
n limit
limite m
massimo
ssim (cardinalita
(
din lit ’
massima) di istanze della relazione R a cui può
partecipare ogni istanza dell’entità E.
Serve a caratterizzare meglio il significato di una
relazione.
Vincolo di cardinalita’
R
E
2
e1
e2
Basi di Dati
1
Progettazione concettuale - 50
25
Esempio di vincolo di cardinalità
• Ad ogni impiegato sono assegnati da 1 a 5 progetti
• Ogni progetto è assegnato ad al più 50 impiegati
(1,5)
Impiegato
(0,50)
Progetto
Assegnazione
Istanza:
istanze(Impiegato) = { a,b,c }
istanze(Progetto) = { x,y,v,w,z }
istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) }
Basi di Dati
Progettazione concettuale - 51
Esempio di vincolo di cardinalità:
cardinalita’ minima di Impiegato in Assegnazione
• Ad ogni impiegato sono assegnati da 1 a 5 progetti
• Ogni progetto è assegnato ad al più 50 impiegati
(1,5)
Impiegato
(0,50)
Assegnazione
Progetto
Istanza:
istanze(Impiegato) = { a,b,c }
a,b,c compaionono in almeno
una istanza di Assegnazione
istanze(Progetto) = { x,y,v,w,z }
istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) }
Basi di Dati
Progettazione concettuale - 52
26
Esempio di vincolo di cardinalità:
cardinalita’ minima di Progetto in Assegnaz.
• Ad ogni impiegato sono assegnati da 1 a 5 progetti
• Ogni progetto è assegnato ad al più 50 impiegati
(1,5)
Impiegato
(0,50)
Progetto
Assegnazione
Istanza:
istanze(Impiegato) = { a,b,c }
X non compare nelle
istanze di Assegnazione
istanze(Progetto) = { x,y,v,w,z }
istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) }
Basi di Dati
Progettazione concettuale - 53
Esempio di vincolo di cardinalità:
cardinalita’ massima di Impiegato in Assegnazione
• Ad ogni impiegato sono assegnati da 1 a 5 progetti
• Ogni progetto è assegnato ad al più 50 impiegati
(1,5)
Impiegato
(0,50)
Assegnazione
Basi di Dati
Progetto
Progettazione concettuale - 54
27
Esempio di vincolo di cardinalità:
cardinalita’ massima di Progetto in Assegnaz.
• Ad ogni impiegato sono assegnati da 1 a 5 incarichi
• Ogni incarico è assegnato al più a 50 impiegati
(1,5)
Impiegato
(0,50)
Assegnazione
Progetto
• Inoltre, ci sono progetti (ad esempio lanciati da poco
t
tempo)
) che
h possono non essere assegnati
ti a nessun
impiegato
Basi di Dati
Progettazione concettuale - 55
Cardinalità maggiormente utilizzate
per la cardinalita’ minima
• Le cardinalità di interesse sono tipicamente due: 0, 1.
• Per la cardinalità minima:
•
0 significa “partecipazione opzionale”
•
1 significa “partecipazione obbligatoria”
(1,5)
Impiegato
(0,50)
Assegnazione
Progetto
C’e’ qualche
Progetto senza impiegati
Tutti gli impiegati sono in
almeno un progetto
Basi di Dati
Progettazione concettuale - 56
28
Cardinalità maggiormente utilizzate
per la cardinalita’ massima
• Le cardinalità di interesse sono tipicamente due: 1, n.
• Per la cardinalità massima:
•
1 significa:
significa “le
le istanze della entità partecipano al
più una volta sola alla relazione”
•
n significa: “le istanze l’entità partecipa un numero
qualsiasi di volte alla relazione”
Basi di Dati
Progettazione concettuale - 57
Cardinalità maggiormente utilizzate
per la cardinalita’ massima
Nuovo esempio (diverso dal precedente)
Gli impiegati sono sempre assegnati a uno ed un solo
Progetto,
g
i progetti
p g
hanno tanti impiegati
p g
assegnati,
g
ve
ne possono essere senza nessun impiegato assegnato
(1,1)
Impiegato
(0,n)
Assegnazione
Basi di Dati
Progetto
Progettazione concettuale - 58
29
Cardinalità maggiormente utilizzate
• La non presenza del vincolo di cardinalità è
equivalente alla coppia (0,n)
(1,1)
Impiegato
(0,n)
Assegnazione
Progetto
Basi di Dati
Progettazione concettuale - 59
Esempi di vincolo di cardinalità, quali o quale dei vincoli sono
compatibili con la realta’ amministrativa italiana?
Studente
(0,1)
Studente
(0,n)
Residenza
(1,1)
Studente
Città
Residenza
Si, se dalle specifiche
Città
si evince che
di
alcuni studenti non interessa
la residenza
(0,n)
Residenza
Basi di Dati
Si, se non abbiamo
Città
altre informazioni
Progettazione concettuale - 60
30
Classificazione di relazioni binarie
• Discutiamo la cardinalità massime nelle relazioni binarie
(le uniche che conosciamo fino a questo punto)
• Con riferimento alle cardinalità massime, si dice anche, a
seconda dei valori possibili delle cardinalita’ massime,
che le relazioni binarie possono essere di tipo:
– uno a uno Æ cardinalita’ massime delle due entita’
coinvolte <1 e 1>
– uno a molti Æ cardinalita’ massime delle due entita’
coinvolte <1 e n>
– molti a molti Æ cardinalita’ massime delle due entita’
coinvolte <n e n>
Basi di Dati
Progettazione concettuale - 61
Relazioni binarie “uno a uno”
(0,1)
Ordine
(1,1)
(1,1)
Professore
(0,1)
Corso
Docenza
(0,1)
Impiegato
Fattura
Vendita
(1,1)
Direzione
Progetto
Basi di Dati
Progettazione concettuale - 62
31
Relazioni binarie “uno a molti”
(0,1)
Persona
(1,n)
Azienda
Impiego
(1,1)
Persona
(0,n)
Città
Nascita
(1,1)
Comune
(1,n)
Ubicazione
Basi di Dati
Provincia
Progettazione concettuale - 63
Relazioni binarie “molti a molti”
(0,n)
Studente
(0,n)
Corso
Esame
(0,n)
Montagna
(1,n)
Scalata
Alpinista
(1,n)
Macchinista
(1,n)
Abilitazione
Basi di Dati
Locomotore
Progettazione concettuale - 64
32
Approfondimenti
Basi di Dati
Progettazione concettuale - 65
Ereditarietà della relazione ISA: transitività
Principio di ereditarietà: anche la relazione ISA si eredita.
Questo conferma che la relazione ISA è transitiva (oltre a
essere riflessiva)
Cognome
g
Dal fatto che
1. Ogni istanza di Studente è
una istanza di Persona
2. Ogni istanza diFuoriCorso
è una istanza di Studente
segue logicamente che
3. Ogni istanza di FuoriCorso
è una istanza di Persona
Età
Persona
Matricola
Studente
AnnoFC
FuoriCorso
Basi di Dati
Progettazione concettuale - 66
33
Spostati nella parte esercitazioni
Basi di Dati
Progettazione concettuale - 67
Esercizio 2: schema concettuale
Descrivere lo schema concettuale della seguente
realtà:
Degli impiegati interessa il codice fiscale
fiscale, il nome
nome, il
cognome, i dipartimenti ai quali afferiscono (con la
data di afferenza), ed i progetti ai quali partecipano.
Dei progetti interessa il nome, il budget, e la città in
cui hanno luogo le corrispondenti attività. Dei
dipartimenti
p
interessa il nome, il numero di telefono,
gli impiegati che li dirigono, e la città dove è
localizzata la sede. Delle città interessa il nome e la
regione.
Basi di Dati
Progettazione concettuale - 68
34
Troviamo le entita’
Descrivere lo schema concettuale della seguente
realtà:
Degli impiegati interessa il codice fiscale
fiscale, il nome
nome, il
cognome, i dipartimenti ai quali afferiscono (con la
data di afferenza), ed i progetti ai quali partecipano.
Dei progetti interessa il nome, il budget, e la città in
cui hanno luogo le corrispondenti attività. Dei
dipartimenti
p
interessa il nome, il numero di telefono,
gli impiegati che li dirigono, e la città dove è
localizzata la sede. Delle città interessa il nome e la
regione.
Basi di Dati
Progettazione concettuale - 69
Esercizio 2: schema concettuale
Impiegati - Degli impiegati interessa il codice
fiscale, il nome, il cognome, i dipartimenti ai quali
afferiscono (con la data di afferenza), ed i progetti ai
quali partecipano.
Progetti - Dei progetti interessa il nome, il budget, e
la città in cui hanno luogo le corrispondenti attività.
Dipartimenti - Dei dipartimenti interessa il nome
nome, il
numero di telefono, gli impiegati che li dirigono, e la
città dove è localizzata la sede.
Citta’ - Delle città interessa il nome e la regione.
Basi di Dati
Progettazione concettuale - 70
35
Esercizio 2: soluzione
Nome Cognome
Nome Tel
Impiegato
Dipartimento
p
CodiceFiscale
Progetto
Progetto
Budget
Città
Nome
Regione
Basi di Dati
Nome
Progettazione concettuale - 71
Troviamo le relazioni
Impiegati - Degli impiegati interessa il codice
fiscale, il nome, il cognome, i dipartimenti ai quali
afferiscono (con la data di afferenza), ed i progetti ai
quali partecipano.
Progetti - Dei progetti interessa il nome, il budget, e
la città in cui hanno luogo le corrispondenti attività.
Dipartimenti
Di
ti
ti - Dei
D i di
dipartimenti
ti
ti iinteressa
t
il nome, il
numero di telefono, gli impiegati che li dirigono, e la
città dove è localizzata la sede.
Citta’ - Delle città interessa il nome e la regione.
Basi di Dati
Progettazione concettuale - 72
36
Esercizio 2: soluzione
Nome Cognome
Nome Tel
Direzione
Impiegato
Dipartimento
p
Afferenza
CodiceFiscale
Sede
Partecipazione
Data
Progetto
Progetto
Budget
Luogo
Nome
Città
Regione
Basi di Dati
Nome
Progettazione concettuale - 73
Esercizio 3: relazione ISA e generalizzazioni
CodFisc
CodFisc
Studente
Lavoratore
Salario
Matricola
Esenzione
StudenteLavoratore
Questo schema è
scorretto
Si può ristrutturare lo schema in modo che lo schema
risultante sia corretto, e colga sostanzialmente lo stesso
significato?
Basi di Dati
Progettazione concettuale - 74
37
Esercizio 3: soluzione 1
CodFisc
StudenteOLavoratore
StudenteNonLav
Matricola
StudenteLavoratore
Matricola
LavoratoreNonSt
Esenzione Salario
Salario
Ogni eventuale sottoentità di Studente si spezzerà in una sottoentità di
StudenteNonLav ed una sottoentità di StudenteLavoratore. Analogamente,
ogni sottoentità di Lavoratore si spezzerà in una sottoentità di
LavoratoreNonSt ed una sottoentità di StudenteLavoratore
Basi di Dati
Progettazione concettuale - 75
Esercizio 3: soluzione 2
CodFisc
StudenteOLavoratore
Studente
Salario
Matricola
Esenzione
StudenteLavoratore
Salario
Basi di Dati
LavoratoreNonSt
Ogni eventuale sottoentità di
Lavoratore si spezzerà in una
sottoentità di LavoratoreNonSt
ed una sottoentità di
StudenteLavoratore
Progettazione concettuale - 76
38
Esercizio 3: soluzione 3
CodFisc
StudenteOLavoratore
Lavoratore
Matricola
Salario
Esenzione
LavoratoreStudente
Matricola
Basi di Dati
StudenteNonLav
Ogni eventuale sottoentità di
Studente si spezzerà in una
sottoentità di StudenteNonLav ed
una sottoentità di
LavoratoreStudente
Progettazione concettuale - 77
39