Le indicazioni in grigio nel resto della pagina sono
relative allo scorso anno accademico e sono quindi da considerare
come riferimento preliminare.
Progetti
In via sperimentale, per il corrente anno accademico 2021-2022, sono previste, a scelta dello studente, due modalità di svolgimento dei progetti:
prima modalità finalizzati alla preparazione allo scritto e non esplicitamente valutati, ma
obbligatori (secondo le regole sotto specificate)
e da consegnare
Moodle, con le seguenti scadenze: in occasione delle prove parziali (entro le 23:59 del giorno precedente), se si intende sostenerle, altrimenti subito prima della prova scritta d'esame.
seconda modalità (utilizzabile solo per progetti completati entro il primo appello)
valutati esplicitamente, con un peso complessivo pari al 40% (con lo scritto o le prove parziali valutate quindi al 60%)
I progetti verranno via via proposti durante lo svolgimento del corso.
Progetto 1, composto di tre parti, tutte potenzialmente utili ai fini dell'esame o delle prove parziali; ai fini della prima modalità è sufficiente lo svolgimento di una delle tre parti (che comunque non sarà valutata); ai fini della seconda modalità è necessario lo svolgimento di due delle tre parti (che saranno valutate). In quest'ultimo caso, consegnare un file zip con due directory, una per progetto
A: implementare su SimpleDB diverse politiche di rimpiazzo nei buffer, misurando gli accessi ai blocchi (pubblicato il 29/03/2022, aggiornato l'11/04/2022, con una piccolissima correzione, relativa alla dimensione del campo C della relazione S). Il materiale deve essere consegnato in un file zip che contenga il codice e una breve relazione, in txt o pdf.
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 (in txt o pdf, all'interno di un file zip) di alcune pagine (con allegati i test), che permetta di comprendere il lavoro svolto e i risultati ottenuti. Vedere alcune indicazioni e suggerimenti nella presentazione analisi su PostgreSQL
C: implementare su SimpleDB il merge-sort a più vie (pubblicato il 30/03/2022).
Il materiale deve essere consegnato in un file zip che contenga il codice e una breve relazione, in txt o pdf.
Progetto 2, composto di tre parti, tutte potenzialmente utili ai fini dell'esame o delle prove parziali; ai fini della prima modalità è sufficiente lo svolgimento di una delle tre parti (che comunque non sarà valutata); ai fini della seconda modalità è necessario lo svolgimento di due delle tre parti (che saranno valutate). In quest'ultimo caso, consegnare un file zip con due directory, una per progetto
B:
sperimentare la gestione del controllo di concorrenza in uno o più DBMS: dettagli, lucidi 11-12. 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.
Note generali
Il lavoro da valutare deve essere svolto individualmente. Quello non valutato
può essere svolto in collaborazione,
ma gli esperimenti debbono essere,
almeno in parte, individuali e le consegne debbono essere individuali.
Esercizi svolti o proposti
esercizio su gestione dei buffer (esercizio 4 del 28/03/2012), proposto il 3/03/2022, svolto a lezione il 7/03/2022
esercizio su record e blocchi in stuttura disordinata, con inserimenti, eliminazioni e ricompattazione (esercizio 1 del 30/03/2015) discusso nella lezione del 7/03/2022.
esercizi su B+-tree e su selettività degli attributi e benefici degli indici discussi nella lezione del 17/03/2022:
esercizi 4 e 2 del 28/03/2014; 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 su B-tree e buffer discusso nella lezione del 21/03/2022:
variante dell'esercizio 3 del 28/03/2014 (T01.6, lucidi 149-154)
codice sql per la creazione della base di dati OLAP (sugli esami) usata per gli esempi di interrogazioni nella lezione del 26/05/2022 (lucidi 155 e seguenti della presentazione T04.4)
esercizio discusso nelle lezioni del 26 e del 30/05/2022 (da proseguire nella lezione del 31/05/2022): esercizio 5 del 16/02/2016 (schema dimensionale vendita farmaci)