Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
IL MODELLO CONCETTUALE
ENIT-RELAZIONE (ER)
(CAPITOLO 5 DELLA VERSIONE ITALIANA)
Obbiettivo:
Introdurre la progettazione concettuale
Definire il linguaggio E-R
Discuterne i costrutti principali
Esempi
Progettazione Concettuale
Il modello concettuale serve descrivere tutte le
Progettazione logica
Dipende dal DBMS sottostante
Nei DB relazionali , coincide con la definizione dello
schema logico
Progettazione Fisica
Analisi dei carichi
Definizione degli indici o ristrutturazione
Obbiettivo: massimizzare le prestazioni rispetto alle
applicazioni previste
accessibilit
Progettazione Concettuale
Obbiettivi
Quali sono le entit e le relazioni dellorganizzazione?
Quali informazioni su queste entit e relazioni
dovrebbero essere memorizzate nella base di dati?
Quali sono i vincoli di integrit o le business rules in
vigore?
Vantaggi
Uno schema di base di dati nel modello ER pu
essere rappresentato graficamente (diagrammi ER)
Si pu tradurre un diagramma ER in uno schema
relazionale
10
Progettazione Concettuale
Conseguenze
Raffinamento dello schema (normalizzazione):
controllo dello schema relazionale per trovare
ridondanze e relative anomalie.
Progettazione fisica e ulteriore raffinamento dello
schema: si considerano il carico di lavoro e le
prestazioni del sistema per effettuare ulteriori
modifica sullo schema.
11
Dal
nome
cf
Dipendenti
LavoraIn
rid
dnome
budget
Reparti
Dal
nome
cf
Dipendenti
LavoraIn
rid
dnome
budget
Reparti
LavoraIn={(m,r)| mDipendenti.Mtr,rReparti.rid}
12
13
Entit e Chiavi
Una chiave un sottoinsieme degli attributi di una classe
14
nome
cf
Dipendenti
Supervisore
Subordinato
DipendeDa
Mtr
nome
rid
cf
Dipendenti
LavoraIn
dnome
Reparti
Dal
Durata
Al
budget
15
Dal
nome
cf
Dipendenti
Mtr
nome
Dipendenti
Al
LavoraIn
rid
cf
LavoraIn
rid
dnome
Reparti
dnome
budget
Reparti
Dal
Durata
Al
15
budget
16
Vincolo di CHIAVE
1-a-1
1-a-Molti
Mtr
VINCOLO DI CHIAVE:
Molti-a-1
Dal
nome
cf
Dipendenti
Ogni Reparto pu
essere gestito al pi da un dipendente.
Dirige
Molti-a-molti
rid
dnome
Reparti
budget
17
18
Vincolo di PARTECIPAZIONE
Mtr
Dal
nome
cf
Dipendenti
Definisco un
VINCOLO DI
PARTECIPAZIONE TOTALE
rid
Dirige
LavoraIn
dnome
budget
Reparti
19
20
nome
Dipendenti
cf
costo
Polizza
pnome
et
Familiari
Gerarchie ISA
Mtr
21
nome
cf
Dipendenti
ore_lav.
Paghe_Orarie
ID_contr
ISA
Dipendenti
Dipendenti
ad Ore
a Contratto
Si dice che:
E GENERALIZZAZIONE di E1,E2,En
E1,, En sono SPECIALIZZAZIONI di E
22
Gerarchie ISA
Mtr
nome
cf
Dipendenti
ore_lav.
Paghe_Orarie
ID_contr
ISA
Dipendenti
Dipendenti
ad Ore
a Contratto
23
Aggregazione
nome
Mtr
cf
Dipendeti
Controllori
Fino_al
Iniziato_il
pid
rnome
pbudget
Progetti
rid
Sponsors
budget
Reparti
24
Esempi di applicazione ER
25
26
27
28
Dal
nome
All
rid
cf
dnome
budget
Indirizzo
Dipendenti
LavoraIn
Reparti
29
Entit o Relazioni?
nome
Dal
cf
Se il direttore non ha un Mtr
budget discrezionale
separato per ogni Reparto Dipendenti
che gestisce, lattributo
dbudget sulla relazione
Dirige e adatto?
dbudget
dnome
rid
Dirige
budget
Reparti
dnome
rid
Dirige
budget
Reparti
dbudget
Incarico
Dal
30
nome
mtr
pnome
cf
et
Familiari
Dipendenti
Copre
Un vincolo di chiave
su Polizze
Brutto progetto Polizze
significherebbe che
una polizza pu
polizzaID
coprire solo un
costo
familiare!
La mancanza di un
nome
pnome
et
vincolo di chiave
mtr
cf
consentirebbe a due
Familiari
Dipendenti di
Dipendenti
intestarsi la stessa
Polizza
Intestatario
Beneficiario
Polizze
polizzaID
costo