© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
UdA
1A
DatabaseProgettazione Concettuale
GIORGIO PORCUwww.thegiorgio.it
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
2
Progettazione ConcettualeDatabase
Sommario• Progettazione Concettuale• Diagramma E-R• Entità• Attributi• Istanze• Relazioni (Associazioni)• Chiave Primaria• Cardinalità delle relazioni
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
3
Database
Progettazione Concettuale
• Consiste nel trasformare una serie di specifiche in linguaggio naturale (che definiscono la realtà descritta dal database) in uno schema grafico chiamato Diagramma E-R (Entity-Relationship o, in italiano, Entità-Relazione)
• Il Diagramma E-R utilizza due concetti fondamentali: Entità Relazione (o Associazione)
Progettazione Concettuale
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
4
Database
Progettazione Concettuale
• Schema grafico che modella la realtà su cui si basa il database. Usa i seguenti simboli principali:
Entità Relazione
Chiave Primaria
Diagramma E-R
Attributo
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
5
Database
Progettazione Concettuale
• Concetto fondamentale, generale, per la realtà che si sta modellando.Possiede una serie di caratteristiche.Identificata graficamente da un rettangolo
ES: Creare un Database che memorizzi i dati relativi agli alunni di una scuola superiore.
AlunnoEntità
Concettofondamentale
Entità
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
6
Database
Progettazione Concettuale
Attributi di un’Entità• Caratteristiche specifiche di un’entità, utili (o
necessarie) nella realtà da modellare. Identificati graficamente da cerchi collegati all’entità
ES: Creare un Database che memorizzi i dati relativi agli alunni di una scuola superiore.
Alunno
NomeCognome Indirizzo
AttributiCaratteristiche di
un’Entità
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
7
Database
Progettazione Concettuale
Istanze di un’Entità• Specifici dati, oggetti appartenenti ad un’entità.
Non sono rappresentate nel Diagramma E-R ma si intendono contenute in ogni Entità.
ES: Carlo Rossi abitante in Via Verdi è un’istanza dell’entità Alunno (attributi Nome, Cognome, Indirizzo).
Alunno
NomeCognome Indirizzo Istanze
Carlo Rossi, Via Verdi
Laura Bianchi, Via Neri
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
8
Database
Progettazione Concettuale
• Possiamo considerare le entità come insiemi all’interno dei quali sono contenuti oggetti (le istanze) ciascuna con specifiche caratteristiche (gli attributi).
Carlo Rossi Via Verdi
Alunno
Laura Bianchi Via Neri
Istanze
Entità e Istanze
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
9
Database
Progettazione Concettuale
• Collegamenti logici che uniscono due o più entità nella realtà descritta dal database.
Persona
Nome Cognome Indirizzo
AutomobilePossiede
Targa Marca Modello
Relazioni (Associazioni)
Relazione(Associazione)
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
10
Database
Progettazione Concettuale
• Insieme di attributi che garantisce l’univocità delle istanze di un’entità.E’ indicata anche con Primary Key o PK.Identificata graficamente da un cerchio pieno collegato all’entità e relativo nome attributo sottolineato
Persona
NomeCognome Indirizzo
IDCliente
Chiave Primaria
Chiave Primaria
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
11
Database
Progettazione Concettuale
Chiave primaria: caratteristiche• La chiave primaria garantisce l’univocità delle
istanze nel senso che: Ogni istanza deve essere identificabile perché diversa
dalle altre Ogni istanza non può avere gli stessi valori di un’altra
in ogni attributo (sarebbero istanze uguali!)• Spesso si sceglie come chiave primaria un singolo
attributo Codice (Cod…) o Identificatore (ID…) contenente un numero naturale
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
13
Database
Progettazione Concettuale
Esempio 1Progetta un database che memorizzi dati anagrafici e di residenza relativi a un elenco di persone
Persona
Nome( CodFiscale )
Cognome
Indirizzo
Città
IDPersona DataNascita
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
14
Database
Progettazione Concettuale
• Una relazione tra due entità può essere di tre tipologie: Uno a uno (1:1) Uno a molti (1:N) Molti a molti (N:N)
a seconda di quante istanze delle due entità sono coinvolte nella relazione.Tale caratteristica si dice cardinalità (o molteplicità).
Cardinalità delle relazioni
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
15
Database
Progettazione Concettuale
In uno stadio, un singolo posto è occupato da uno spettatore e ogni spettatore occupa un posto
Posto SpettatoreOccupare
1 1
1 1
1 1
CardinalitàTotale
Relazione 1 a 1
Cardinalità Parziale
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
16
Database
Progettazione Concettuale
In una classe ci sono uno o più alunni e un alunno appartiene a una sola classe
Classe AlunnoAppartiene
1 1Cardinalità
Parziale
1 N CardinalitàTotale
1 N
Relazione 1 a N
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
17
Database
Progettazione Concettuale
All’Università uno studente frequenta più corsi e un corso è frequentato da più studenti
Studente CorsoFrequenta
Relazione N a N
N 1Cardinalità
Parziale
1 N CardinalitàTotale
N N
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
18
Database
Progettazione Concettuale
• Modella la relazione tra le entità Cittadino e dati di Residenza in una specifica data.
Cittadino ResidenzaRisiede
1 1
11
1 1
Esercizio 1
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
19
Database
Progettazione Concettuale
Cittadino ResidenzaRisiede1 1
Esercizio 1 > Soluzione
NomeCodFiscale Cognome IDResidenza Indirizzo Città
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
20
Database
Progettazione Concettuale
• Modella la relazione tra le entità Persona e Automobile posseduta in una specifica data.
Persona AutomobilePossiede
N1
11
1 N
Esercizio 2
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
21
Database
Progettazione Concettuale
Persona AutomobilePossiede1 N
NomeCodFiscale Cognome Matricola Marca Modello
DataImm
Esercizio 2 > Soluzione
Targa
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
22
Database
Progettazione Concettuale
Esercizio 3• Modella la relazione tra le entità Concorrente e
Gara in un’Olimpiade.
Concorrente GaraPartecipa
1 N
1N
N N
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
23
Database
Progettazione Concettuale
Concorrente GaraPartecipa
CodPassaporto Nome Cognome
Nazionalità
IDGara
Esercizio 3 > Soluzione
Tipologia
Data
N N
© 2
014
Gio
rgio
Por
cu -
Aggi
orna
men
nto
25/0
2/20
15
24
Database
Progettazione Concettuale
• Modella le seguenti relazioni tra entità con un Diagramma E-R :A. Studente di una scuolaB. Dipendente di un’aziendaC. Trasmissione in un canale televisivo
Esercizio 4PER CASA