2. Progettare un DB
SCHEMA CONCETTUALE
SCHEMA LOGICO
SCHEMA FISICO
2
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 190-192)
A cura del Prof. Jacques Bottel
LIV.DI
ASTRAZIONE
3. Modello E-R
Def. Modello E-R / modello concettuale
Il modello Entità-Relazione (modello E-R) è un modello
concettuale della base di dati.
Esso fornisce una serie di strutture - dette costrutti - che
consentono di descrivere la realtà di interesse in maniera
facile da comprendere. Infatti, in questa fase il
progettista rappresenta solamente il contenuto
informativo della base di dati, a prescindere dai criteri di
organizzazione dei dati.
3
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 190)
A cura del Prof. Jacques Bottel
4. Modello E-R
I principali costrutti:
Entità
Attributi
Relazioni
Vediamoli in dettaglio…
4A cura del Prof. Jacques Bottel
5. Le entità
Def. entità
Rappresentano classi di oggetti (fatti, cose,
persone, ecc.) che hanno proprietà comuni
5
Fornitore
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 194-196)
A cura del Prof. Jacques Bottel
6. Gli attributi
Def. Attributo
Descrivono le proprietà elementari di entità e relazioni
che sono di interesse ai fini dell’applicazione.
6
Grossista
NomeCognome Cel
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 198-200)
A cura del Prof. Jacques Bottel
Indirizzo
Via Num. Civ.
Città
7. Le relazioni
Def. relazioni
Rappresentano i legami logici, significativi, tra
due o più entità.
7
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 196-198)
A cura del Prof. Jacques Bottel
GrossistaProdotti Fornisce
8. Tipi di relazioni
Le relazioni possono essere di tre tipi:
1 a 1
1 a molti
Molti a molti
8A cura del Prof. Jacques Bottel
9. Relazione 1 a 1
Ogni record della tabella A può essere correlato con
uno e uno solo record della tabella B.
9
TAB. A TAB. B
Ogni record della tabella B può essere correlato con
uno e uno solo record della tabella A.
A cura del Prof. Jacques Bottel
10. Relazione 1 a molti
Ogni record della tabella A può essere correlato con 1
o più record della tabella B.
10
TAB. A TAB. B
Ogni record della tabella B può essere correlato con
uno e uno solo record della tabella A
A cura del Prof. Jacques Bottel
11. Relazione molti a molti
Ogni record della tabella A può essere correlato con
1 o più record della tabella B.
11
TAB. A TAB. B
Ogni record della tabella B può essere correlato con
1 o più record della tabella A.
A cura del Prof. Jacques Bottel
12. Modello logico
Modello logico
Consiste nella traduzione dello schema concettuale nel
modello di rappresentazione dei dati specifico del
sistema di gestione della base di dati che si è scelto
(gerarchico, reticolare, relazionale).
Nel caso del modello relazionale, si utilizza la tecnica
della normalizzazione per migliorare l’efficienza della
base di dati e ridurre la ridondanza dei dati.
12A cura del Prof. Jacques Bottel
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 192)
13. Traduzione del modello
concettuale
Entità Tabelle
Attributi Campi (colonne tabella)
Relazioni Relazioni 1 a 1, 1 a N, N a N
13A cura del Prof. Jacques Bottel
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 192)
14. Modello fisico
Modello fisico
Definisce come vengono memorizzati i dati. Il
modello dipende dal sistema di gestione
scelto (distribuito, centralizzato) e dai criteri di
organizzazione fisica dei dati.
14A cura del Prof. Jacques Bottel
Riferimenti:
Basi di Dati, Ed. McGraw Hill (pag. 192)
15. Indipendenza logica e fisica
Indipendenza logica
Possibilità di modificare lo schema logico o concettuale
del database senza alterare lo schema fisico.
Indipendenza fisica
Possibilità di modificare lo schema fisico del database
senza alterare lo schema logico o concettuale.
15A cura del Prof. Jacques Bottel
16. Verifica se hai capito…
Argomento: database e DBMS
Domande di verifica:
Descrivi le peculiarità del modello concettuale, logico
e fisico.
Che cos’è il modello E-R?
Spiega in dettaglio i seguenti costrutti: entità,
attributo, relazione.
Illustra le differenze delle relazioni 1 a 1, 1 a molti,
molti a molti.
16A cura del Prof. Jacques Bottel
18. La normalizzazione
Un database strutturato in forma normale facilita e
rende più rapide le operazioni sui dati, riducendo il
rischio di ridondanza e incoerenza dei dati.
Vi sono tre forme di normalizzazione che consentono di
ottenere un grado di ottimizzazione via via maggiore:
NF1
NF2
NF3
A cura di Jacques Bottel 18
19. Regola 1NF
Ogni record di ciascuna tabella deve poter
essere identificato in maniera univoca grazie
a un gruppo di dati in essa contenuti. In altre
parole, ciascun record deve avere una chiave
primaria singolo campo o multicampo.
Nota: il DBMS Access consente di impostare una
chiave primaria automatica.
A cura di Jacques Bottel 19
20. Regola 2NF
Un DB normalizzato 1NF è ottimizzato in 2NF se:
tutti i campi non chiave dipendono dall'intera
chiave primaria (e non solo da una parte di
essa).
A cura di Jacques Bottel 20
La normalizzazione 2NF e 3NF garantiscono una
corretta dipendenza funzionale tra gli
attributi di una relazione.
21. Regola 2NF: esempio
In questo caso, il nostro DB non è 2NF in quanto il
campo “Nome Matricola” non dipende dall'intera
chiave primaria ma solo da una parte di essa (solo da
“Codice Matricola”).
A cura di Jacques Bottel 21
Codice Matricola Codice Esame Nome Matricola Voto Esame
1234 M01 Rossi Alberto 26
1234 L02 Rossi Alberto 27
1245 L02 Siracide Mario 30
22. Regola 2NF: esempio
A cura di Jacques Bottel 22
Codice Matricola Codice Esame Voto Esame
1234 M01 26
1234 L02 27
1245 L02 30
Codice Matricola Nome Matricola
1234 Rossi Alberto
1234 Rossi Alberto
1235 Siracide Mario
Relazione N a N
23. Regola 3NF
Un DB normalizzato 2NF può essere ottimizzato
in 3NF se:
tutti i campi dipendono direttamente dalla
chiave primaria. In altre parole, non ci sono
attributi che dipendono da altri attributi che
non sono chiave primaria.
A cura di Jacques Bottel 23
24. Regola 3NF: esempio
A cura di Jacques Bottel 24
Codice Matricola Codice Corso Insegnante
1234 BB01 Marco
1245 BB01 Marco
1245 AE02 Federica
1305 BB01 Marco
In questo caso, il nostro DB non è 3NF in quanto il
campo “Insegnante” non dipende dalla chiave primaria,
ma dal campo “Codice Corso”, che non è la chiave
primaria.
25. Regola 3NF: esempio
A cura di Jacques Bottel 25
Codice Matricola Codice Corso
1234 BB01
1245 BB01
1245 AE02
1305 BB01
Codice Corso Insegnante
BB01 Marco
AE02 Federica
Relazione N a N
26. Verifica se hai capito…
Argomento: la normalizzazione
Domande di verifica:
A che cosa serve la tecnica di normalizzazione?
Descrivi le tre regole di normalizzazione.
26A cura del Prof. Jacques Bottel
27. E ora che avete capito…
memorizzate!
27A cura del Prof. Jacques Bottel
Notas del editor
Nota per il Prof. Bottel. Oltre alla dipendenza funzionale degli attributi nella relazione, bisogna controllare che lo schema decomposto deve garantire il soddisfacimento degli stessi vincoli garantiti dallo schema originario (Basi di Dati, Ed. McGraw Hill pag. 310).