Le indicazioni in grigio nel resto della pagina sono
relative allo scorso anno accademico e sono quindi da considerare
come riferimento preliminare.
Esercizi svolti o proposti
Sono facoltativi ma è estremamente importante svolgerli
(e anche discuterli ad esempio sul forum), perché
le domande proposte
nei compiti di esame possono essere molto simili.
esercizio pratico su SimpleDB proposto il 3/03/2021: implementare statistiche di accesso a livello di blocco, vedere
E01.1, lucidi 29 e 30 e anche il codice
esercizio sulla gestione dei buffer (esercizio 4 del 28/03/2012), svolto il 4/03/2021 (nella registrazione, al minuto 59 circa)con riferimento alle strategie naif e LRU (vedere
T01.2, lucidi 33 e seguenti; si suggerisce di svolgerlo anche con riferimento alle strategie FIFO e clock.
esercizio pratico 2.1 su SimpleDB proposto l'8/03/2021: implementare le strategie di rimpiazzo LRU e clock (non la FIFO), vedere
E01.2, lucido 31 e anche il codice
esercizio discusso nella lezione del 10/03/2020 (nella registrazione, al minuto 40 circa):
esercizio 1 del 30/03/2015 (record e blocchi; inserimenti, eliminazioni e ricompattazione);
esercizi discussi nella lezione
del 17/03/2021:
esercizi 4 e 2 del 28/03/2014 (B+-tree; selettività degli attributi e benefici degli indici) vedi anche T01.5 (lucidi 121-122 e 132-133); nota bene: nella lezione, per l'esercizio 4, la discussione è stata svolta con riferimento al B-tree, mentre il testo dell'esercizio e della soluzione fanno riferimento al B+-tree; con lo strumento suggerito, si possono confrontare le alternative e si può ragionare sulle differenze
esercizio discusso nella lezione del 17/03/2021:
variante dell'esercizio 3 del 28/03/2014 (buffer e B-tree) vedi T01.5 (lucidi 135-144)
esempio discusso nella lezione del 18/03/2021 (ottimizzazione algebrica):
T01.6 (lucidi 159-164)
esercizio pratico su SimpleDB proposto il 19/04/2021 e illustato il 29/04/2021: implementare l'algoritmo di recovery undo-redo,
E01.7, lucidi 2-5 e anche il codice
esercizio discusso nelle lezioni del 24 e 26/05/2021
esercizio 5 del 16/02/2016 (schema dimensionale vendita farmaci); svolgimento prima versione (24/05/2021); seconda versione (26/05/2021, include anche la prima); vedere anche lo script conla base di dati OLTP di partenza. Questo è l'argomento del Progetto 3, vedi sotto.
Sono finalizzati alla preparazione allo scritto e non vengono esplicitamente valutati, ma sono
obbligatori (secondo le regole sotto specificate)
e vanno consegnati su
Moodle, con le seguenti scadenze: in occasione delle prove parziali, se si intende sostenerle, altrimenti almeno due giorni prima della prova scritta d'esame.
Progetto 1, composto di due parti, di cui almeno una da svolgere obbligatoriamente (ma entrambe possono essere utili ai fini dell'esame o delle prove parziali)
A: sperimentazione su SimpleDB, accessi ai blocchi in presenza di diverse politiche di rimpiazzo nei buffer testo (pubblicato il 22/03/2021)
B: sperimentare sulle strutture fisiche di un DBMS; definire alcune relazioni (ad esempio tre) e alcune interrogazioni (due o tre) che prevedano selezioni, proiezioni e join. Utilizzare relazioni di dimensioni sufficientemente grandi da rendere conveniente l’uso degli indici (si suggerisce di generare, con opportuni progammi, dati sintetici casuali). Mostrare, con riferimento al DBMS scelto (DB2, PostgresSQL, Oracle, etc.) il comportamento del sistema (in termini di piano di esecuzione delle interrogazioni), in presenza e assenza di indici e prima e dopo l’aggiornamento delle statistiche. Sintetizzare il tutto in una relazione di alcune pagine (con allegati i test), che permetta di comprendere il lavoro svolto e i risultati ottenuti.
Progetto 2: sperimentare la gestione del controllo di concorrenza in uno o più DBMS:
dettagli, lucidi 10-11.
Consegnare un unico file zip, contenente i sorgenti, un'evidenza dei test effettuati (ma non i dati di test) e una breve relazione di testo che illustri brevemente il lavoro svolto.
Progetto 3: progettare e realizzare il flusso di ETL come proposto nelle esercitazioni con riferimento al
progetto "Prescrizioni farmaci".
In particolare
sulla base dello schema OLTP (script con anche un insieme di dati)
scrivere le istruzioni DDL per la creazione dello schema dimensionale e le istruzioni di interrogazione per il caricamento dei dati
consegnare un unico file zip con gli script per la creazione e il popolamento dello schema dimensionale e una una breve relazione di testo che illustri brevemente il lavoro svolto.