Le indicazioni in grigio nel resto della pagina sono
relative allo scorso anno accademico e sono quindi da considerare
come riferimento preliminare.
Esercizi 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.
esercizi svolti in aula 14/03/2019:
esercizi 2 e 4 del 28/03/2014 (selettività degli attributi e benefici degli indici, B+-tree);
con riferimento all'esercizio 3 dello stesso compito e all'indice in esso mostrato, supporre di esguire ricerche dei record con valore della chiave AB, EA, HA, EC e indicare quali blocchi vengono effettivamente letti, con un buffer di otto pagine (buffer e B-tree)
esercizio discusso in aula il 30/05 e il 05/06/2019
esercizio 5 del 16/02/2016 (schema dimensionale vendita farmaci); vedere anche il codice SQL utilizzato.
I due file .sql contengono, rispettivamente, la creazione e il popolamento della base di dati di partenza (OLTP) e la costruzione e l'alimentazione dello schema dimensionale (OLAP). Nel secondo file, alcuni commenti illustrano il processo. Si consiglia di esaminarli in modo approfondito ... anche perché i concetti potrebbero essere ripresi in esercizi delle prove parziali o d'esame
esercizio discusso in aula il 13/06/2019 (materializzazione di viste in uno schema dimensionale);
esercizio 6 del 29/09/2013
(evoluzione delle dimensioni -- elezioni politiche), discusso in aula il 13/06/2019
Progetti
Sono finalizzati alla preparazione allo scritto e non vengono esplicitamente valutati, ma sono
obbligatori (secondo le regole sotto specificate)
e vanno consegnati su
Moodle secondo le seguenti scadenze
in occasione delle prove parziali, se si intende sostenerle (vedi sotto)
almeno due giorni prima della prova scritta d'esame, altrimenti
Progetto 1 (da consegnare su Moodle prima dell'esame oppure, se interessati alle prove parziali, entro l'8/04/2019 ore 7:00); scegliere fra le seguenti alternative (nel senso che è sufficiente consegnare una delle due; peraltro, entrambe sono utili per la preparazione e si consiglia quindi di svolgerle entrambe):
Sperimentare le strutture fisiche di un DBMS, definendo 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.
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 sinteticamente il lavoro svolto.
Progetto 2 (da consegnare su Moodle prima dell'esame oppure, se interessati alle prove parziali, entro il 27/05/2019 ore 7:00): sperimentare la gestione del controllo di concorrenza in uno o più DBMS:
dettagli.
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 "Carriere degli studenti" (vedere anche i file csv con i dati da importare).
Non va consegnato, ma si consiglia di svolgerlo, perché i concetti potrebbero essere ripresi in esercizi delle prove parziali o d'esame