Basi di Dati Relazionali

Documenti analoghi
Basi di dati McGraw-Hill

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica

Requisiti della base di dati. Schema concettuale

Basi di dati. Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Informatica Industriale

LA PROGETTAZIONE LOGICA. Prima parte

Ristrutturazione di schemi E-R. Ridondanze. Analisi delle ridondanze. Vantaggi semplificazione delle interrogazioni

Progettazione logica

Analisi delle ridondanze

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

I prodotti della varie fasi sono schemi di alcuni modelli di dati:

Corso di Laurea in Informatica Basi di Dati a.a

La Progettazione Logica

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza

Progettazione logica: criteri di ottimizzazione

Traduzione dal modello E/R al modello relazionale

Progettazione logica

Corso di Basi di Dati

adattato da Atzeni et al., Basi di dati, McGrawHill

Progettazione logica: criteri di ottimizzazione

La progettazione logica

Basi di Dati Relazionali

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Progettazione Logica. ISProgLog 1

Controllo degli accessi

Controllo degli accessi. Controllo degli accessi. Controllo degli accessi. Controllo degli accessi

Progettazione logica relazionale (1/2)

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

Progettazione di basi di dati D B M G

Cerca di unire i vantaggi delle strategie top-down e bottomup.

Principi di Progettazione del Software a.a

D. Gubiani Progettazione di Basi di Dati 3. D. Gubiani Progettazione di Basi di Dati 2. Slide create in collaborazione con il prof. A.

Basi di Dati Relazionali

Modulo 10: Basi di dati e loro gestione

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

D. Gubiani Progettazione 3

Progettazione logica: figure

Progettazione Logica. Progettazione Concettuale. Metodologia per Basi di Dati e Modelli. Progettazione Fisica. Modello Concettuale

Progettazione logica

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Strategie di proge-o. Strategia top down. Strategia bo-om up. Una metodologia. Schema finale. Basi di da' Specifiche Specifiche 1 Specifiche 2

Unità 3. Modello Relazionale

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

ESEMPI. Un esempio. Cognome. Telefono. Direzione. Impiegato (0,1) Dipartimento. Afferenza. Nome. Composizione. Partecipazione.

Un esempio di progettazione concettuale

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Partizionamento/accorpamento di concetti

Progettazione. Realizzazione

CAPITOLO 6 : Metodologie e modelli per il progetto

Il modello Entita Relazioni. Costrutti

Laboratorio di Basi di Dati

Dr. C. d'amat LA PROGETTAZIONE LOGICA

Corso di Laurea in Informatica Basi di Dati a.a

Lezione 5. La progettazione logica

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Corso di Basi di Dati

Il modello Entità-Relazioni (entity-relationship)

Basi di dati Prova di autovalutazione 16 dicembre 2010 Cenni sulle soluzioni

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

Progettazione Logica di Basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli

Un esempio di progetto di un base dati di una società che eroga corsi di formazione

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

Laboratorio di Basi di Dati progettazione concettuale

Corso di Basi di Dati

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

Basi di dati Modelli e linguaggi di interrogazione

l uso delle tabelle rende semplice da usare il modello, mentre la formalizzazione matematica ne consolida la Modello Relazionale

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

REGISTRO DELLE LEZIONI

2. le operazioni nettamente più frequenti sono due, che accedono rispettivamente a tutte le occorrenze

Altri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

REGIONE BASILICATA UFFICIO S. I. R. S.

Generazione diagrammi ER

Laboratorio di Basi di Dati

Sistemi informativi D B M G

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Metodologie e Modelli di Progetto

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

REGISTRO DELLE LEZIONI

Transcript:

Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2010-2011

PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico

PROGETTAZIONE DELLA BASE DI DATI

PROGETTAZIONE LOGICA OBIETTIVO: Tradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed efficiente

PROGETTAZIONE LOGICA Obiettivo: 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) Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso) Output: Schema logico + documentazione associata Qualità: Correttezza e completezza della rappresentazione Efficienza della manipolazione dei dati

PROGETTAZIONE LOGICA Non si tratta di una pura e semplice traduzione: alcuni aspetti non sono direttamente rappresentabili è necessario considerare le prestazioni

Progettazione logica Carico applicativo Schema E-R Ristrutturazione dello schema E-R Modello logico Schema E-R ristrutturato Traduzione nel modello logico Schema logico

RISTRUTTURAZIONE SCHEMA E-R Motivazioni: semplificare la traduzione "ottimizzare" le prestazioni Osservazione: uno schema E-R ristrutturato non è (più) uno schema concettuale nel senso stretto del termine

Analisi delle prestazioni Consideriamo indicatori dei parametri che regolano le prestazioni: Spazio(occupazione di memoria): numero di occorrenze previste Tempo(costo di una operazione): numero di occorrenze (di entità e relationship) visitate durante un operazione

Analisi delle prestazioni 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) 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)

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

Analisi delle ridondanze 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 Svantaggi: maggiore occupazione di memoria e necessità di effettuare operazioni aggiuntive per tenere aggiornato il dato derivato.

Analisi delle ridondanze 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 assenza della ridondanza

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 Relazioni derivabili dalla composizione di altre relazioni in presenza di cicli

Esempio Numero abitanti (1,1) (1,n) PERSONA Residenza CITTA Città 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)

TAVOLA DEI VOLUMI Concetto Schema E-R Tipo (Entità/Relazione) Volume Città E 200 Persona E 1000000 Residenza R 1000000

TAVOLA DELLE OPERAZIONI Operazione Tipo Frequenza (Interattiva/Batch) Op. 1 I 500 al giorno Op. 2 I 2 al giorno

TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA Costo Operazione 1 (in presenza di ridondanza): Concetto Costrutto Accesso Tipo Persona E 1 S Città E 1 L Residenza R 1 S 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

TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA Costo Operazione 2 (in presenza di ridondanza): Concetto Costrutto Accesso Tipo Città E 1 L Il costo è trascurabile in quanto richiede un solo accesso in lettura all entità CITTA da ripetere 2 volte al giorno.

ESEMPIO DI VALUTAZIONE DI COSTO In presenza di ridondanza: supponendo che un accesso in scrittura abbia costo doppio rispetto all accesso in lettura: in totale 1500 x 2 + 500 = 3500 accessi al giorno

Tavole degli accessi in assenza di ridondanza Costo Operazione 1 (in assenza di ridondanza): Concetto Costrutto Accessi Tipo Persona E 1 S Città E 1 L 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

Costo Operazione 2 (in assenza di ridondanza): Tavole degli accessi in assenza di ridondanza Concetto Costrutto Accessi Tipo Città E 1 L Residenza R 5000 L 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.

ESEMPIO DI VALUTAZIONE DI COSTO In assenza di ridondanza: Supponendo che un accesso in scrittura abbia costo doppio rispetto all accesso in lettura Abbiamo in totale (1000 x 2 + 500) + 10000 = 12500 accessi al giorno in caso di assenza di ridondanza.

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: 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

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

ELIMINAZIONE DELLE GERARCHIE il modello relazionale non può rappresentare direttamente le generalizzazioni entità e relazioni sono invece direttamente rappresentabili si eliminano perciò le gerarchie, sostituendole con entità e relazioni

Eliminazione delle gerarchie 1. accorpamento delle figlie della generalizzazione nell entità padre 2. accorpamento dell entità padre della generalizzazione nelle entità figlie 3. sostituzione della generalizzazione con relazioni

A01 1. Accorpamento dell entità figlie nell entità padre A02 E0 R1 E3 E1 E2 R2 A11 A21 E4

A11 A21 (0,1) (0,1) 1.Accorpamento delle entità figlie nell entità padre A01 A02 E0 TIPO R1 E3 (0,..) R2 E4

1.Esempio Farmaco codice n_anni codice Generico Brevettato n_anni Farmaco (0,1) TIPO

2. Accorpamento dell entità padre nelle entità figlie A01 A02 E0 R1 E3 E1 E2 R2 A11 A21 E4

2. Accorpamento dell entità padre nelle entità figlie R11 R12 E3 E1 E2 R2 A01 A11 A02 A01 A21 A02 E4

2.Esempio codice Farmaco codice Generico Brevettato n_anni Generico n_anni Brevettato codice

3. Sostituzione della generalizzazione con relazioni A01 A02 E0 R1 E3 E1 E2 R2 A11 A21 E4 Corso di Basi di Dati Relazionali Laboratorio Gruppo B

3. Sostituzione della generalizzazione con relazioni A01 A02 E0 R1 E3 RG1 (0,1) (1,1) (0,1) (1,1) RG2 E1 E2 R2 A11 A21 E4

3. Sostituzione della generalizzazione con relazioni A01 A02 E0 R1 E3 RG1 (0,1) (1,1) (0,1) (1,1) RG2 E1 E2 R2 A11 A21 E4

3.Esempio codice Farmaco codice Generico Brevettato n_anni (0,1) RG1 (1,1) Generico Farmaco (0,1) RG2 (1,1) n_anni Brevettato

Strategia per la eliminazione delle generalizzazioni 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 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

A01 A02 Soluzione Ibrida E0 R1 E3 E1 E2 R2 A11 A21 E4

Soluzione ibrida A01 A02 E0 R1 E3 E2 A21 R2 E4

Soluzione ibrida A01 A02 A11 (0,1) E0 R1 E3 TIPO (0,1) (1,1) RG2 E2 R2 A21 E4

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

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 acceduti separatamente raggruppando attributi di concetti diversi acceduti insieme

ESEMPI DI PARTIZIONAMENTO/ ACCORPAMENTO partizionamento verticale di entità partizionamento orizzontale di entità/relationship eliminazione di attributi multivalore accorpamento di entità/ relationship

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

SCELTA DEGLI IDENTIFICATORI PRINCIPALI Operazione indispensabile per la traduzione nel modello relazionale Criteri assenza di opzionalità Semplicità (1 o pochi attributi) utilizzo nelle operazioni più frequenti o importanti

SCELTA DEGLI IDENTIFICATORI PRINCIPALI Se nessuno degli identificatori soddisfa i requisiti visti? Si introducono nuovi attributi (codici) contenenti valori speciali generati appositamente per questo scopo

TRADUZIONE VERSO IL MODELLO RELAZIONALE Idea di base: le entità diventano relazioni sugli stessi attributi le associazioni (ovvero le relazioni E-R) diventano relazioni sugli identificatori delle entità coinvolte più gli attributi propri