Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Slides:



Advertisements
Presentazioni simili
07/03/2014Basi di dati II , presentazione1 Basi di dati II Docente: Paolo Atzeni
Advertisements

29/02/2016Basi di dati II , presentazione1 Basi di dati II Docente: Paolo Atzeni
La progettazione concettuale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
rielaborato da Atzeni-etal., Basi di dati, Capitolo 4
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
di Basi di Dati: Overview
Esercitazione Modello ER 1
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Raccolta ed Analisi dei Requisiti nella Progettazione
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Basi di Dati: Introduzione
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Che cos’e’ l’Informatica
Basi di dati - Fondamenti
Progettazione concettuale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Basi di dati II , presentazione
Basi di dati II , presentazione
Join, una difficoltà Impiegato Reparto Rossi A Neri B Bianchi Reparto
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Il questionario: progettazione e redazione II Modulo
Progettazione di una base di dati
Transcript della presentazione:

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 8. Progettazione logica 8.1 Introduzione

adattato da da Atzeni et al., Basi di dati, McGrawHill Attenzione Nel seguito, come gia’ detto nella descrizione del modello E-R, con la dizione Relationship si intende la relazione nel modello ER (chiamata peraltro alcune volte, quando non ambiguo, relazione) Relazione, la relazione nel modello relazionale Tieni anche presente che nella nuova edizione 2006 del testo di riferimento le Relationship sono chiamate anche associazioni. adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Requisiti della base di dati Fasi della progettazione di una base di dati Progettazione concettuale Schema concettuale Traduce uno schema dal modello ER al modello relazionale Progettazione logica Progettazione fisica Schema logico Schema fisico adattato da da Atzeni et al., Basi di dati, McGrawHill

Dati di ingresso e uscita alla attivita’ di progettazione logica schema concettuale informazioni sul carico applicativo (cioe’ frequenza delle applicazioni e numerosita’ delle istanze) modello logico Uscita: schema logico documentazione associata adattato da da Atzeni et al., Basi di dati, McGrawHill

Obiettivo della progettazione logica Tradurre lo schema concettuale in uno schema logico che rappresenti lo schema per mezzo del modello logico in maniera corretta ed efficiente. adattato da da Atzeni et al., Basi di dati, McGrawHill

Correttezza ed efficienza Correttezza: lo schema nel modello relazionale deve rappresentare la stessa realta’ dello schema nel modello ER Efficienza: le interrogazioni e le transazioni (chiamate anche nel loro insieme carico applicativo) devono essere eseguite sullo schema relazionale con ridotto utilizzo di risorse elaborative  vedi avanti adattato da da Atzeni et al., Basi di dati, McGrawHill

Correttezza: approfondimenti Abbiamo detto che lo schema ER e lo schema relazionale devono rappresentare la stessa realta’, o, possiamo dire, devono avere un equivalente contenuto informativo. Tuttavia, alcune strutture dello schema concettuale non sono direttamente rappresentabili nello schema logico. I casi piu’ importanti sono: Le generalizzazioni Le relationship, in particolare, come vedremo, le relationship molti a molti Gli attributi multivalore Gli identificatori composti adattato da da Atzeni et al., Basi di dati, McGrawHill

Efficienza: approfondimenti - 1 Definizione di carico applicativo Con il termine carico applicativo intendiamo l’insieme delle: Interrogazioni, che estraggono informazioni dalla base di dati, senza modificarne la istanza. Transazioni, che effettuano aggiornamenti sulla base di dati, che in genere ne modificano la istanza. Interrogazioni e transazioni sono chiamate nel loro insieme operazioni. Il carico applicativo va considerato tenendo conto della frequenza di esecuzione nel tempo. adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.1.1 Facendo riferimento all’esempio degli esami introdotto all’inizio del corso, in cui erano definite tre relazioni STUDENTE, CORSO, ESAME, prova a definire un insieme di interrogazioni (Es. Produci un report con gli studenti e la media dei voti ottenuti agli esami) e transazioni (Es. registra un esame di uno studente) e a determinarne la frequenza nel corsi di laurea che tu frequenti. adattato da da Atzeni et al., Basi di dati, McGrawHill

Efficienza: approfondimenti - 2 Fissato il carico applicativo, almeno approssimativamente, dobbiamo scegliere quel particolare schema logico che permette di ottimizzare l’esecuzione del carico applicativo. Ad esempio, nel caso dello schema concettuale degli esami superati dagli studenti, abbiamo almeno due scelte per lo schema logico: Schema 1: tre relazioni STUDENTE, ESAME, CORSO Schema 2: una sola relazione ESAME, a cui associamo tutti gli attributi delle tre relazioni precedenti adattato da da Atzeni et al., Basi di dati, McGrawHill

Efficienza: approfondimenti - 3 Schema 1: tre relazioni Schema 2: una relazione Ebbene, se la grande maggioranza delle interrogazioni e transazioni visita insieme tutti gli attributi dello schema, intuitivamente e’ conveniente lo schema 2, in cui non dobbiamo eseguire operazioni di Join, ma troviamo gia’ tutti gli attributi nella stessa relazione. adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.1.2 Facendo riferimento all’esempio degli esami, componi tre elenchi di possibili interrogazioni che, rispettivamente, rendono intuitivamente ottima la scelta dei seguenti schemi come schema logico: Schema 1: Una relazione ESAME con tutti gli attributi Schema 2: Due relazioni STUDENTE ed ESAME-CORSO Schema 3: Tre relazioni STUDENTE, ESAME e CORSO. adattato da da Atzeni et al., Basi di dati, McGrawHill

Efficienza: approfondimenti - 4 L’esempio relativo agli esami chiarisce intuitivamente il problema della efficienza, ma piu’ avanti abbiamo bisogno di metodi piu’ precisi. adattato da da Atzeni et al., Basi di dati, McGrawHill

Fasi della progettazione logica adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Fasi della progettazione logica Carico applicativo Schema ER 1. Ristrutturazione dello schema ER Schema ER ristrutturato 2. Traduzione nel modello logico Modello logico Schema logico adattato da da Atzeni et al., Basi di dati, McGrawHill

Fase 1: Ristrutturazione dello schema ER adattato da da Atzeni et al., Basi di dati, McGrawHill

Fase 1: Ristrutturazione schema ER Motivazioni: Rendere semplice la successiva traduzione nel modello relazionale, trasformando lo schema ER in un nuovo schema ER con contenuto informativo equivalente, in cui diverse strutture non rappresentabili nello schema relazionale sono state eliminate. Trasformare lo schema ER in un nuovo schema ER che ottimizza le prestazioni del carico applicativo adattato da da Atzeni et al., Basi di dati, McGrawHill

Occupiamoci della efficienza in uno schema ER adattato da da Atzeni et al., Basi di dati, McGrawHill

Come passare a una definizione piu’ precisa di efficienza? Efficienza significa rendere minimo l’utilizzo delle risorse elaborative. Una risorsa elaborativa e’ una risorsa (componente di un calcolatore elettronico, tempo) coinvolta nella esecuzione delle interrogazioni e transazioni. adattato da da Atzeni et al., Basi di dati, McGrawHill

Risorse su cui concentriamo la attenzione Tempo di esecuzione delle interrogazioni/ transazioni Spazio di memoria occupato a seguito della esecuzione delle interrogazioni/ transazioni Ma come misuriamo Tempo di esecuzione e Spazio di memoria? Abbiamo bisogno di nuovi strumenti adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Risorse e strumenti Spazio  Tavola dei volumi, che descrive il numero delle istanze di entita’ e relazioni (chiamato volume) Tempo  Tavola degli accessi, che descrive per ogni operazione rilevante, il numero di istanze di entita’ e relazioni visitate dalla operazione (interrogazione o transazione) adattato da da Atzeni et al., Basi di dati, McGrawHill

adattato da da Atzeni et al., Basi di dati, McGrawHill Concetti introdotti Progettazione logica Relationship Relazione Correttezza Efficienza Interrogazione Transazione Operazione Risorsa elaborativa Tempo di esecuzione Spazio di memoria adattato da da Atzeni et al., Basi di dati, McGrawHill