Identificatori delle entità - Dipartimento di Informatica e Automazione

Transcript

Identificatori delle entità - Dipartimento di Informatica e Automazione
Identificatori delle entità
• Permettono di identificare in maniera
univoca le occorrenze delle entità
• Ogni entità deve averne (almeno) uno
Targa
Automobile
Modello
Colore
Nome
Cognome
Persona
Data di nascita
Indirizzo
Questi rappresentati qui sopra sono detti
identificatori interni, perché gli attributi
della entità sono sufficienti ad individuare
univocamente le occorrenze
Modello Entità-Relazione
1
Identificatori esterni
Quando gli attributi dell’entità non sono
sufficienti ad identificare le sue occorrenze,
viene coinvolta una relazione cui l’entità
partecipa con molteplicità (1,1)
Cognome
Anno iscrizione
Matricola
Studente
Indirizzo
Città
Nome
(1,1)
(1,N)
Iscritto
Università
• sempre tramite relazioni binarie
(eventualmente si può trasformare lo
schema)
• una identificazione esterna può
coinvolgere diverse relazioni binarie con
altre entità, purché di cardinalità (1,1)
• non si devono creare dei cicli di entità
identificate tramite relazioni con entità a
loro volta identificate esternamente
Modello Entità-Relazione
2
Esempio di E-R
Data afferenza
(0,1)
Afferenza
Età
(1,N)
Tel.
(0,1)
Impiegato
(0,N)
Direzione
Cognome
Matricola
Stipendio
(1,1)
Progetto
(0,1)
(1,1)
Composizione
Data inizio
Nome
Dipartimento
Nome
Partecipa
(1,N)
(1,N)
Città
Budget
Data consegna
Via
Numero
(1,N)
Sede
Indirizzo
Modello Entità-Relazione
3
Generalizzazioni
Esempi:
• Uomo e donna sono i due casi particolari
di persona
• Dipendente è un concetto che generalizza
i concetti di funzionario, impiegato e
dirigente
Una generalizzazione mette in relazione una
o più entità E1, E2, ..., En con un’altra entità
E, di esse più generale (nel senso che le
comprende come caso particolare)
• Ogni proprietà (attributi, identificatori e
relazioni) di E è significativa anche per le
entità E1, ...,En
• Ogni occorrenza di una entità Ei è
occorrenza anche di E
• Ogni occorrenza di E è occorrenza di al
più una E1
Modello Entità-Relazione
4
Rappresentazione grafica
di generalizzazioni
Impiegato
Dipendente
CF
Cognome
Stipendio
Funzionario
Dirigente
Persona
CF
Cognome
Età
Orario
Militare
Obiettore
Modello Entità-Relazione
Ente
5
Generalizzazioni
totali e parziali
parziale
totale
Una generalizzazione è totale se ogni
occorrenza della entità padre è una
occorrenza di almeno una delle entità
figlie, altrimenti è parziale
CF
Cognome
Età
Persona
Uomo
Donna
Professionista
Ingegnere
CF
Cognome
Stipendio
Avvocato
Modello Entità-Relazione
6
Esempio di gerarchia di
generalizzazioni
Codice fiscale
Cognome
Età
Persona
Uomo
Donna
Impiegato
Studente
Matricola
Situazione militare
Stipendio
Progettista
Direttore
Segretario
Orario
Responsabile
di
Progetto
Modello Entità-Relazione
7
Esercizio 1
Rappresentare le seguenti classi di oggetti,
facendo uso, dove opportuno, del costrutto
di generalizzazione del modello EntitàRelazione.
Indicare, nei vari casi, gli attributi delle
varie entità e il tipo di generalizzazione.
Gli
Gliimpiegati
impiegatidi
diuna
unaazienda
aziendasisidividono
dividonoin
in
dirigenti,
dirigenti,programmatori,
programmatori,analisti,
analisti,capi
capi
progetto
progettoeesegretari.
segretari.Ci
Cisono
sonoanalisti
analistiche
che
sono
sonoanche
ancheprogrammatori.
programmatori.IIcapi
capiprogetto
progetto
devono
devonoessere
esseredirigenti.
dirigenti.Gli
Gliimpiegati
impiegati
hanno
hannoun
uncodice,
codice,un
unnome
nomeeeun
uncognome.
cognome.
ogni
ognicategoria
categoriadi
diimpiegato
impiegatoha
haun
unproprio
proprio
stipendio
stipendiobase.
base.Ogni
Ogniimpiegato,
impiegato,tranne
tranneii
dirigenti,
dirigenti,ha
haun
unorario
orariodi
dilavoro.
lavoro.
Modello Entità-Relazione
8
Esercizio 2
Rappresentare le seguenti classi di oggetti,
facendo uso, dove opportuno, del costrutto
di generalizzazione del modello EntitàRelazione.
Indicare, nei vari casi, gli attributi delle
varie entità e il tipo di generalizzazione.
Una
Unacompagnìa
compagnìaaerea
aereaoffre
offrevoli
voliche
che
possiedono
possiedonoun
unnumero
numeroche
cheidentifica
identificalala
tratta
tratta(per
(peresempio:
esempio:Roma-Milano),
Roma-Milano),una
una
data
data(25
(25marzo
marzo2001),
2001),un
unorario
orariodi
dipartenza
partenza
(ore
(ore8:00)
8:00)eeuno
unodi
diarrivo
arrivo(ore
(ore9:00),
9:00),un
un
aereoporto
aereoportodi
dipartenza
partenzaeeuno
unodi
di
destinazione.
destinazione.Ci
Cisono
sonovoli
volinazionali
nazionaliee
internazionali.
internazionali.IIvoli
voliinternazionali
internazionalipossono
possono
avere
avereuno
unooopiù
piùscali.
scali.Dei
Deivoli
volipassati
passatièèdi
di
interesse
interessel’orario
l’orarioreale
realedi
dipartenza
partenzaeedi
di
arrivo
arrivo(per
(peresempio,
esempio,con
conriferimento
riferimentoalalvolo
volo
suddetto,
suddetto,ore
ore8:05
8:05ee9:07),
9:07),di
diquelli
quellifuturi
futurièè
di
diinteresse
interesseililnumero
numerodi
diposti
postidisponibili
disponibili
Modello Entità-Relazione
9
Esercizio 3
Rappresentare le seguenti classi di oggetti,
facendo uso, dove opportuno, del costrutto
di generalizzazione del modello EntitàRelazione.
Indicare, nei vari casi, gli attributi delle
varie entità e il tipo di generalizzazione
Una
Unacasa
casaautomobilistica
automobilisticaproduce
produceveicoli
veicoli
che
chepossono
possonoessere
essereautomobili,
automobili,motocicli,
motocicli,
camion
camioneetrattori.
trattori.IIveicoli
veicolisono
sonoidentificati
identificati
da
daun
unnumero
numerodi
ditelaio
telaioeehanno
hannoun
unnome
nome
(per
(peresempio
esempio“Punto”),
“Punto”),una
unacilindrata
cilindrataeeun
un
colore.
colore.Le
Leautomobili
automobilisisisuddividono
suddividonoin
in
utilitarie
utilitarie(lunghezza
(lunghezzasotto
sottoiidue
duemetri
metriee
mezzo),
mezzo),piccola
piccolacilindrata
cilindrata(fino
(finoaa1200
1200cc),
cc),
media
mediacilindrata
cilindrata(da
(da1200
1200cc
ccaa2000
2000cc)
cc)ee
grossa
grossacilindrata
cilindrata(sopra
(sopra2000
2000cc).
cc).II
motocicli
motociclisisisuddividono
suddividonoin
inmotorini
motorini
(cilindrata
(cilindratasotto
sottoii125
125cc)
cc)eemoto
moto
(lunghezza
(lunghezzasopra
sopraililmetro
metroeemezzo).
mezzo).II
camion
camionhanno
hannoun
unpeso
pesoeepossono
possonoavere
avereun
un
rimorchio.
rimorchio. Modello Entità-Relazione
10
Documentazione
Dizionario dei dati: per ogni entità offre
una descrizione in linguaggio naturale di
ciò che rappresenta, l’elenco dei suoi
attributi e il suo identificatore. Per ogni
relazione offre una descrizione in
linguaggio naturale, la lista delle entità
coinvolte, gli eventuali attributi
Vincoli di integrità non espressi: elenco
testuale dei vincoli di integrità che si
vorrebbero soddisfatti.
Esempio: “Un impiegato può essere
direttore solo del dipartimento a cui
afferisce; un impiegato non può avere uno
stipendio maggiore del direttore del
dipartimento al quale afferisce; il budget di
un progetto deve essere superiore alla
somma degli stipendi degli impiegati che
vi partecipano, ecc.”
Modello Entità-Relazione
11