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

Post on 03-May-2015

214 views 2 download

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

© 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