© 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO...

23
© 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale GIORGIO PORCU www.thegiorgio.it

Transcript of © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO...

Page 1: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 2

014

Gio

rgio

Por

cu -

Aggi

orna

men

nto

25/0

2/20

15

UdA

1A

DatabaseProgettazione Concettuale

GIORGIO PORCUwww.thegiorgio.it

Page 2: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 3: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 4: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 5: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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à

Page 6: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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à

Page 7: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 8: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 9: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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)

Page 10: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 11: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 12: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 13: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 14: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 15: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 16: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 17: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 18: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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à

Page 19: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 20: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 21: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 22: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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

Page 23: © 2014 Giorgio Porcu - Aggiornamennto 25/02/2015 UdA 1A Database Progettazione Concettuale G IORGIO P ORCU .

© 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