Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... ·...

52
UNIVERSITA' DELLA CALABRIA Basi di Dati Relazionali Corso di Laurea in Informatica a.a. 2009-2010 Corso di Basi di Dati Relazionali – Progettazione Logica

Transcript of Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... ·...

Page 1: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Basi di Dati Relazionali

Corso di Laurea in Informatica

a.a. 2009-2010

Corso di Basi di Dati Relazionali – Progettazione Logica

Page 2: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

PROGETTAZIONE DI UNA BASE DI DATI

Schema concettuale

Progettazione concettuale

Raccolta e Analisi dei requisiti

Corso di Basi di Dati Relazionali – Progettazione Logica

Progettazione logica

Progettazione fisica

Schema logico

Schema fisico

Page 3: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

PROGETTAZIONE DELLA BASE DI DATI

Corso di Basi di Dati Relazionali – Progettazione Logica

Page 4: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

RICAPITOLANDO…

FASI E STEP DEL PROGETTO

1. ANALISI E PROGETTAZIONE CONCETTUALE

2. PROGETTAZIONE LOGICA DELLA BASE DI DATI

Corso di Basi di Dati Relazionali – Progettazione Logica

3. PROGETTAZIONE FISICA ED IMPLEMENTAZIONE

DELLA BASE DI DATI

Page 5: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

STEP 1:

PROGETTAZIONE CONCETTUALE

1.Analisi e progettazione concettuale

1.1 Raccolta e Analisi dei requisiti

1.2 Progettazione dello schema Entità­Relazione (E­R)

1.3 Specifica delle funzioni per operare sui dati

Corso di Basi di Dati Relazionali – Progettazione Logica

1.3 Specifica delle funzioni per operare sui dati

1.4 Stima del carico applicativo del sistema informatico

� Il prodotto è lo Schema Concettuale.

Page 6: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

STEP 2:

PROGETTAZIONE LOGICA

2. Progettazione logica della base di dati

2.1 Ristrutturazione dello schema E­R in uno schema E­R

semplificato orientato al modello relazionale

Corso di Basi di Dati Relazionali – Progettazione Logica

2.2 Traduzione dello schema E­R ristrutturato in schema

relazionale.

� Il prodotto è lo Schema Logico.

Page 7: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

STEP 3:

PROGETTAZIONE FISICA

3. Progettazione fisica ed implementazione della base di dati

3.1 Realizzazione della base di dati sul DBMS

relazionale open­source MySQL 5.0

3.2 Popolamento delle tabelle

Corso di Basi di Dati Relazionali – Progettazione Logica

3.2 Popolamento delle tabelle

3.3 Realizzazione delle interrogazioni per operare sui dati

� Il prodotto è lo Schema Fisico.

Page 8: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

MODELLI DI DATI

I prodotti della varie fasi della progettazione sono schemi basati su specifici

modelli di datimodelli di dati:

� Schema concettuale � modello concettuale

� Schema logico � modello logico

Corso di Basi di Dati Relazionali – Progettazione Logica

� Schema logico � modello logico

� Schema fisico � modello logico + parametri fisici

Page 9: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

MODELLI DEI DATI ADOTTATI

– Schema concettuale:

• Modello Entità­Relazione (E­R)

– Schema logico:

Corso di Basi di Dati Relazionali – Progettazione Logica

• Modello Relazionale Modello Relazionale

• DDL: SQL­standard

– Schema fisico:

• Modello relazionale + strutture fisiche

• DDL: SQL supportato dal DBMS scelto (MySQL 5.0)

Page 10: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

PROGETTAZIONE

LOGICA

OBIETTIVO:

“Tradurre" lo schema concettuale in uno schema

logico che rappresenti gli stessi dati in maniera

corretta ed efficiente

Page 11: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

PROGETTAZIONE LOGICAObiettivo: Rappresentare i dati della realtà d’interesse in termini dei costrutti logici di una

classe di DBMS (quelli basati su un determinato modello logico)

• Input:

� Schema concettuale (output della progettazione concettuale)

� Modello logico

DBMS scelto (conforme al modello logico scelto)

Corso di Basi di Dati Relazionali – Progettazione Logica

� DBMS scelto (conforme al modello logico scelto)

� Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso)

• Output: Schema logico + Schema logico + documentazione associata

• Qualità:

� Correttezza e completezza della rappresentazione

� Efficienza della manipolazione dei dati

Page 12: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Non si tratta di una pura e semplice traduzione:

� alcuni aspetti non sono direttamente rappresentabili

PROGETTAZIONE LOGICA

Corso di Basi di Dati Relazionali – Progettazione Logica

� è necessario considerare le prestazioni

Page 13: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Ristrutturazione dello schema E-R

Schema E-RCaricoapplicativo

Progettazione logicaProgettazione logicaProgettazione logicaProgettazione logica

Corso di Basi di Dati Relazionali – Progettazione Logica

Traduzione nelmodello logico

Schema E-Rristrutturato

Modellologico

Schema logico

Page 14: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

RISTRUTTURAZIONE SCHEMA E-R

� Motivazioni:

� semplificare la traduzione

� "ottimizzare" le prestazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

� Osservazione:

� uno schema E­R ristrutturato non è (più) uno schema

concettuale nel senso stretto del termine

Page 15: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Consideriamo “indicatori” dei parametri che regolano le prestazioni:

� Spazio (occupazione di memoria): numero di occorrenze previste

Analisi delle prestazioniAnalisi delle prestazioniAnalisi delle prestazioniAnalisi delle prestazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

previste

� Tempo (costo di una operazione): numero di occorrenze (di entità e relationship) visitate durante un’operazione

Page 16: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Per lo studio di questi parametri servono le seguenti informazioni:

� Volume dei dati:

� numero di occorrenze di ogni entità e associazione

� dimensioni di ciascun attributo (di entità e associazione)

Analisi delle prestazioniAnalisi delle prestazioniAnalisi delle prestazioniAnalisi delle prestazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

� Caratteristiche delle operazioni:

� Tipo di operazione (interattiva o batch)

� Frequenza (numero medio di esecuzione in un certo intervallo di

tempo)

� Dati coinvolti (entità e/o associazioni)

Page 17: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ATTIVITÀ DELLA RISTRUTTURAZIONE

• Analisi delle ridondanze

• Eliminazione delle generalizzazioni

Partizionamento/accorpamento di entità e relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

• Partizionamento/accorpamento di entità e relazioni

• Scelta degli identificatori primari

Page 18: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

� Presenza di un dato che può essere derivato (attraverso una

serie di operazioni) da altri dati.

� Vantaggi: riduzione degli accessi necessari per calcolare il dato

derivato

Analisi delle ridondanzeAnalisi delle ridondanzeAnalisi delle ridondanzeAnalisi delle ridondanze

Corso di Basi di Dati Relazionali – Progettazione Logica

derivato

� Svantaggi: maggiore occupazione di memoria e necessità di

effettuare operazioni aggiuntive per tenere aggiornato il dato

derivato.

Page 19: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

La decisione se mantenere o eliminare un dato ridondante va

presa confrontando:

� il costo di esecuzione delle operazioni che coinvolgono il dato ridondante

� relativa occupazione di memoria

nei casi di:

presenza della ridondanza

Analisi delle ridondanzeAnalisi delle ridondanzeAnalisi delle ridondanzeAnalisi delle ridondanze

Corso di Basi di Dati Relazionali – Progettazione Logica

� presenza della ridondanza

� assenza della ridondanza

Page 20: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

FORME DI RIDONDANZA

� Attributi derivabili:

� da altri attributi della stessa entità (o associazione)

� da attributi di altre entità (o associazione)

attraverso il conteggio di occorrenze

Corso di Basi di Dati Relazionali – Progettazione Logica

� attraverso il conteggio di occorrenze

� Relazioni derivabili dalla composizione di altre relazioni

in presenza di cicli

Page 21: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

EsempioEsempioEsempioEsempio

CITTA’PERSONA Residenza Città(1,1) (1,n)

Numero abitanti

O2

Corso di Basi di Dati Relazionali – Progettazione Logica

Operazione O1: memorizza una nuova persona con relativa città di residenza

Operazione O2: stampa tutti i dati di una città (incluso il numero di abitanti)

O1

Page 22: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ANALISI DELLE PRESTAZIONI

� La valutazione si fa sulla base delle:

� Tavola dei Volumi

� Tavola delle Operazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

� Tavola degli accessi

� In presenza di ridondanza

� In assenza di ridondanza

(sulla base di uno schema di navigazione)

Page 23: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

TAVOLA DEI VOLUMI

Concetto Schema E-R

Tipo (Entità/Relazione)

Volume

Città E 200

Persona E 1000000

Residenza R 1000000

Corso di Basi di Dati Relazionali – Progettazione Logica

Residenza R 1000000

Page 24: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

TAVOLA DELLE OPERAZIONI

Operazione Tipo (Interattiva/Batch)

Frequenza

Op. 1 I 500 al giorno

Corso di Basi di Dati Relazionali – Progettazione Logica

Op. 1 I 500 al giorno

Op. 2 I 2 al giorno

Page 25: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA TAVOLE DEGLI ACCESSI

IN PRESENZAPRESENZA DI RIDONDANZA

Concetto Costrutto Accesso Tipo

Persona E 1 S

Città E 1 L

Residenza R 1 S

Città E 1 S

� Costo Operazione 1 (in presenzapresenza di ridondanza):

Corso di Basi di Dati Relazionali – Progettazione Logica

Città E 1 S

� Un accesso in scrittura alla entità PERSONA

� Un accesso in lettura per cercare la CITTA’ di interesse

� Un accesso in scrittura all’associazione RESIDENZA

� Un accesso in scrittura per incrementare il numero di abitanti in CITTA’

� Il tutto ripetuto per 500 volte al giorno per un totale di

� 3 x 500 = 1500 accessi in scrittura

� 1 x 500 = 500 accessi in lettura

Page 26: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA TAVOLE DEGLI ACCESSI

IN PRESENZAPRESENZA DI RIDONDANZA

Concetto Costrutto Accesso Tipo

Città E 1 L

� Costo Operazione 1 (in assenza assenza di ridondanza):

Corso di Basi di Dati Relazionali – Progettazione Logica

� Il costo è trascurabile in quanto richiede un solo accesso

in lettura all’entità CITTA’ da ripetere 2 volte al giorno.

Page 27: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ESEMPIO DI VALUTAZIONE DI COSTO

supponendo che un accesso in scrittura abbia costo doppio

rispetto all’accesso in lettura:

� in totale 1500 x 2 + 500 = 3500 accessi al giorno

In presenzapresenza di ridondanza:

Corso di Basi di Dati Relazionali – Progettazione Logica

� in totale 1500 x 2 + 500 = 3500 accessi al giorno

Page 28: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Concetto Costrutto Accessi Tipo

Persona E 1 S

Città E 1 L

� Costo Operazione 1 (in assenza assenza di ridondanza):

Tavole degli accessi Tavole degli accessi Tavole degli accessi Tavole degli accessi in in in in assenzaassenzaassenzaassenzaassenzaassenzaassenzaassenza di ridondanzadi ridondanzadi ridondanzadi ridondanza

Corso di Basi di Dati Relazionali – Progettazione Logica

Residenza R 1 S

� Un accesso in scrittura alla entità PERSONA

� Un accesso in lettura per trovare la Città di interesse

� Un accesso in scrittura all’associazione RESIDENZA

� Il tutto ripetuto per 500 volte al giorno per un totale di

� 2 x 500 = 1000 accessi in scrittura

� 1 x 500 = 500 accessi in lettura

Page 29: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

Concetto Costrutto Accessi Tipo

Città E 1 L

Residenza R 5000 L

� Costo Operazione 2 (in assenza assenza di ridondanza):

Tavole degli accessi Tavole degli accessi Tavole degli accessi Tavole degli accessi in in in in assenzaassenzaassenzaassenzaassenzaassenzaassenzaassenza di ridondanzadi ridondanzadi ridondanzadi ridondanza

Corso di Basi di Dati Relazionali – Progettazione Logica

� Un accesso in lettura all’entità CITTA’ (trascurabile),

� 5000 accessi in lettura all’associazione RESIDENZA in media (numero di persone/numero di città) per calcolare il numero di abitanti di questa città,

� Il tutto ripetuto per 2 volte al giorno per un totale di

� 5000 x 2 = 10000 accessi in lettura al giorno.

Page 30: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ESEMPIO DI VALUTAZIONE DI COSTO

Supponendo che un accesso in scrittura abbia costo doppio rispetto all’accesso in lettura

� Abbiamo in totale (1000 x 2 + 500) + 10000 = 12500 accessial giorno in caso di assenza di ridondanza.

In assenzaassenza di ridondanza:

Corso di Basi di Dati Relazionali – Progettazione Logica

Page 31: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ESEMPIO DI VALUTAZIONE DI COSTO

Riassumendo:

� presenza di ridondanza: 3500 accessi al giorno

� assenza di ridondanza: 12500 accessi al giorno

Conclusioni:

Eliminare il dato ridondante comporterebbe:

Corso di Basi di Dati Relazionali – Progettazione Logica

Eliminare il dato ridondante comporterebbe:

� 9000 accessi giornalieri in più rispetto al caso di dato ridondante presente

� un risparmio di un solo Kbyte

Allora conviene in questo caso mantenere il dato ridondante

Page 32: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ATTIVITÀ DELLA RISTRUTTURAZIONE

� Analisi delle ridondanze

� Eliminazione delle generalizzazioni

Partizionamento/accorpamento di entità e relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

� Partizionamento/accorpamento di entità e relazioni

� Scelta degli identificatori primari

Page 33: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ELIMINAZIONE DELLE GERARCHIE

� il modello relazionale non può rappresentare direttamente le

generalizzazioni

� entità e relazioni sono invece direttamente rappresentabili

Corso di Basi di Dati Relazionali – Progettazione Logica

� si eliminano perciò le gerarchie, sostituendole con entità e

relazioni

Page 34: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

1. accorpamento delle figlie della generalizzazione nell’entità

padre

2. accorpamento dell’entità padre della generalizzazione nelle

entità figlie

Eliminazione delle gerarchieEliminazione delle gerarchieEliminazione delle gerarchieEliminazione delle gerarchie

Corso di Basi di Dati Relazionali – Progettazione Logica

entità figlie

3. sostituzione della generalizzazione con relazioni

Page 35: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E0 R1

A01 A02

E3

1.1.1.1.Accorpamento dell’entità figlie Accorpamento dell’entità figlie Accorpamento dell’entità figlie Accorpamento dell’entità figlie nell’entità padrenell’entità padrenell’entità padrenell’entità padre

Corso di Basi di Dati Relazionali – Progettazione Logica

R2

E4

E2E1

A11 A21

Page 36: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

A11

A21

TIPO

(0,1)

(0,1)

E0

A01 A02

R1 E3

1.Accorpamento delle entità figlie 1.Accorpamento delle entità figlie 1.Accorpamento delle entità figlie 1.Accorpamento delle entità figlie nell’entità padrenell’entità padrenell’entità padrenell’entità padre

Corso di Basi di Dati Relazionali – Progettazione Logica

TIPO

(0,..)

R2

E4

Page 37: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E0 R1

A01 A02

E3

2. Accorpamento dell’entità padre 2. Accorpamento dell’entità padre 2. Accorpamento dell’entità padre 2. Accorpamento dell’entità padre nelle entità figlienelle entità figlienelle entità figlienelle entità figlie

Corso di Basi di Dati Relazionali – Progettazione Logica

R2

E4

E2E1

A11 A21

Page 38: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E3R12

R11

2. Accorpamento dell’entità 2. Accorpamento dell’entità 2. Accorpamento dell’entità 2. Accorpamento dell’entità padre nelle entità figlie padre nelle entità figlie padre nelle entità figlie padre nelle entità figlie

Corso di Basi di Dati Relazionali – Progettazione Logica

R2

E4

E2E1

A11 A21A01 A02 A01 A02

Page 39: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E0 R1

A01 A02

E3

3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione con relazionicon relazionicon relazionicon relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

R2

E4

E2E1

A11 A21

Corso di Basi di Dati Relazionali – Laboratorio Gruppo B

Page 40: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

RG1(0,1)(0,1)

E0

A01 A02

R1 E3

3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione 3. Sostituzione della generalizzazione con relazionicon relazionicon relazionicon relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

RG2RG1

(1,1)(1,1)

E2E1 R2

E4A11 A21

Page 41: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

� La scelta fra le alternative si può fare con metodo simile a quello visto per

l'analisi delle ridondanze (però non basato solo sul numero degli accessi)

• E’ possibile seguire alcune semplici regole generali:

1. conviene se gli accessi al padre e alle figlie sono

Strategia per la eliminazione delle Strategia per la eliminazione delle Strategia per la eliminazione delle Strategia per la eliminazione delle generalizzazionigeneralizzazionigeneralizzazionigeneralizzazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

1. conviene se gli accessi al padre e alle figlie sono contestuali

2. conviene se gli accessi alle figlie sono distinti

3. conviene se gli accessi alle entità figlie sono separati dagli accessi al padre

• sono anche possibili soluzioni “ibride”, soprattutto in gerarchie a più livelli

Page 42: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E0 R1

A01 A02

E3

Soluzione IbridaSoluzione IbridaSoluzione IbridaSoluzione Ibrida

Corso di Basi di Dati Relazionali – Progettazione Logica

R2

E4

E2E1

A11 A21

Page 43: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

SoluzioneSoluzioneSoluzioneSoluzione ibridaibridaibridaibrida

E0

A01 A02

R1 E3

Corso di Basi di Dati Relazionali – Progettazione Logica

E2 R2

E4A21

Page 44: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

E0

A01 A02

R1 E3

(0,1)

A11

TIPO

(0,1)

SoluzioneSoluzioneSoluzioneSoluzione ibridaibridaibridaibrida

Corso di Basi di Dati Relazionali – Progettazione Logica

E2 R2

E4A21

RG2

(1,1)

(0,1)TIPO

Page 45: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ATTIVITÀ DELLA RISTRUTTURAZIONE

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di entità e relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

relazioni

• Scelta degli identificatori primari

Page 46: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA PARTIZIONAMENTO/ACCORPAMENTO

DI ENTITÀ E RELAZIONI

� Ristrutturazioni effettuate per rendere più efficienti le

operazioni

� Gli accessi si riducono:

� separando attributi di un concetto che vengono

Corso di Basi di Dati Relazionali – Progettazione Logica

� separando attributi di un concetto che vengono

acceduti separatamente

� raggruppando attributi di concetti diversi acceduti

insieme

Page 47: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA ESEMPI DI PARTIZIONAMENTO/ACCORPAMENTO

� partizionamento verticale di entità

� partizionamento orizzontale di

entità/relationship

Corso di Basi di Dati Relazionali – Progettazione Logica

entità/relationship

� eliminazione di attributi multivalore

� accorpamento di entità/ relationship

Page 48: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ESEMPIO DI

PARTIZIONAMENTO/ACCORPAMENTO

� Se una delle due entità non è coinvolta in alcuna relazione con

Corso di Basi di Dati Relazionali – Progettazione Logica

� Se una delle due entità non è coinvolta in alcuna relazione con

altre entità dello schema E/R, le due entità possono essere

accorpate

Page 49: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

ATTIVITÀ DELLA RISTRUTTURAZIONE

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di entità e

relazioni

Corso di Basi di Dati Relazionali – Progettazione Logica

relazioni• Scelta degli identificatori primari

Page 50: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

SCELTA DEGLI IDENTIFICATORI PRINCIPALI

� Operazione indispensabile per la traduzione nel modello

relazionale

� Criteri

Corso di Basi di Dati Relazionali – Progettazione Logica

� Criteri

� assenza di opzionalità

� Semplicità (1 o pochi attributi)

� utilizzo nelle operazioni più frequenti o importanti

Page 51: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

SCELTA DEGLI IDENTIFICATORI PRINCIPALI

� Se nessuno degli identificatori soddisfa i requisiti visti?

Si introducono nuovi attributi (codici)

Corso di Basi di Dati Relazionali – Progettazione Logica

Si introducono nuovi attributi (codici)

contenenti valori speciali generati appositamente per questo scopo

Page 52: Corso di Laurea in Informatica Basi di Dati Relazionalirullo/teaching/basidati_rel/a.a.09-10/... · Corso di Basi di Dati Relazionali –Progettazione Logica contestuali 2. conviene

UNIVERSITA' DELLA CALABRIA

TRADUZIONE VERSO IL MODELLO

RELAZIONALE

Idea di base:

• le entità diventano relazioni sugli stessi attributi

• le associazioni (ovvero le relazioni E­R) diventano

Corso di Basi di Dati Relazionali – Progettazione Logica

• le associazioni (ovvero le relazioni E­R) diventano

relazioni sugli identificatori delle entità coinvolte più gli

attributi propri