Universita' Roma Tre --- CD Ingegneria Informatica --- Dip Ingegneria

Basi di dati II

Anno accademico 2019-2020

Home page del corso -- Programma e materiale -- Avvisi

Esercizi e progetti

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.

  1. esercizio discusso nella lezione registrata l'8/03/2020 (nella registrazione, al minuto 16 circa): esercizio 1 del 30/03/2015 (record e blocchi; inserimenti, eliminazioni e ricompattazione);
  2. esercizio discusso nella lezione registrata l'8/03/2020 (nella registrazione, al minuto 54 circa): hashing dinamico;
  3. esercizi discussi nella lezione trasmessa il 16/03/2020 (nella registrazione, al minuto 42 circa e poi a 1h13 circa): esercizi 4 e 2 del 28/03/2014 (B+-tree; selettività degli attributi e benefici degli indici); 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;
  4. esempio discusso nella videolezione del 19/03/2020, al minuto 22 circa: esercizio 4 del 28/03/2012 (ottimizzazione algebrica);
  5. esercizio proposto in aula il 04/03/2020 e discusso nella videolezione del 19/03/2020, al minuto 53 circa: esercizio 4 del 28/03/2012 (gestione dei buffer);
  6. esercizio proposto sul sito il 16/03/2020 e discusso nella videolezione del 22/03/2020, al minuto 21 circa (purtroppo nella registrazione non si vede lo schermo): variante dell'esercizio 3 del 28/03/2014 (buffer e B-tree);
  7. esempio discusso nella videolezione del 22/03/2020, dopo circa 1h13 (purtroppo nella registrazione non si vede lo schermo): passo di merge nel merge sort esterno con tre pagine di buffer;
  8. esempio discusso nella videolezione del 26/03/2020, al minuto 4 e poi al minuto 19 : merge sort esterno con tre pagine di buffer e poi con cinque;
  9. esercizio proposto sul sito il 16/03/2020: esercizio 5 dell'8/04/2018 (accesso ai blocchi su disco per un file con indice)
  10. esercizio proposto il 26/03/2020: esercizio 5 del 26/02/2013 (mergesort con molti buffer)
  11. esercizio proposto il 26/03/2020: esercizio 1 del 9/04/2018 (nested-loop join con molti buffer)
  12. esercizio proposto il 26/03/2020, da discutere in una prossima lezione: esercizio 3 del 10/04/2017 (nested-loop join con indice e gestione dei buffer)
  13. esempio discusso nella videolezione del 30/03/2020, al minuto 5: hash join;
  14. esercizio proposto il 30/03/2020: esercizio 7 del 25/09/2012 (hash join)
  15. esercizio proposto il 30/03/2020, discusso nella videolezione del 2/04/2020, a inizio lezione: esercizio 5 del 28/06/2016 (cluster plurirelazionali); lucidi a supporto (versione aggiornata dopo la lezione)
  16. esercizio proposto il 30/03/2020, discusso in aula il 2/04/2020 (minuto 47) e il 6/04/2020 (quasi tutta la lezione): esercizio 3 del 09/04/2018 (costo di vari join, con metodi diversi); lucidi a supporto (versione aggiornata dopo la lezione del 6/04/2020) e lucidi a supporto per l'analisi su PostgreSQL.
  17. esercizio proposto il 30/03/2020, discusso nella videolezione del 9/04/2020 (minuto 3): esercizio 2 del 09/04/2018 (valutazione e confronto di strutture fisiche); lucidi a supporto.
  18. esercizio proposto il 06/04/2020, discusso nella videolezione del 9/04/2020 (minuto 45): esercizio 2 del 10/04/2017 (ordinamento non mantenuto); lucidi a supporto
  19. esercizio discusso nella videolezione del 9/04/2020 (1h01): esercizio 3 del 21/06/2018 (interrogazione aggregativa a più vie); lucidi a supporto
  20. esercizi discussi nella videolezione del 15/04/2020 (all'inizio): esercizi 1-4 dell'8/04/2019 (mergesort a più vie; progettazione fisica, scelta della struttura)
  21. esempio discusso all'inizio della videolezione del 20/04/2020 (recovery);
  22. esercizio proposto il 16/04/2020, da discutere in una futura lezione: esercizio 4 del 7/09/2015 (recovery)
  23. esercizio proposto il 16/04/2020, discusso nella videolezione del 20/04/2020 (minuto 36) : esercizio 1 del 28/06/2016 (scritture nel log); lucidi a supporto
  24. esercizio proposto il 16/04/2020, da discutere nella lezione del 20/04/2020: esercizi 1 e 2 del 12/05/2015 (scritture nel log; checkpoint)
  25. esercizio discusso nella videolezione del 23/04/2020 (all'inizio): esercizio 5 del 22/09/2017 (scelta del livello di isolamento)
  26. esercizi discussi nella videolezione del 06/05/2020:
  27. esercizi discussi nella videolezione dell'11/05/2020 esempi su Postgres(livelli di isolamento)
  28. esercizi discussi nella videolezione del 13/05/2020
  29. esercizi discussi a lezione il 14/05/2020 (dopo 1h06 e 1h16):
  30. esercizi discussi a lezione il 21/05/2020 (nell'ordine, per tutta la registrazione):
  31. esercizio svolto l'8 e l'11/06/2020 : esercizio 2 del 10/05/2013 (schema dimensionale vendite). Possibili soluzioni e lucidi a supporto (aggiornati l'11/06/2020). L'ultimo punto ("specificare la struttura dell’interrogazione SQL necessaria per produrre, giornalmente, le nuove ennuple da inserire nella tabella dei fatti") è stato discusso nella lezione di giovedì 11/06. Vedere anche il codice SQL per la base di dati nell'esercizio e per lo schema dimensionale.
  32. esercizi proposti:

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

  1. Progetto 1: Politiche di buffer replacement (per i dettagli, lucidi SimpleDB, parte terza, pubblicati il 25/03 alla pagina Programma e materiale; da consegnare su Moodle prima dell'esame oppure, se interessati al percorso in itinere (vedere avvertenze per il periodo di emergenza, entro l'8/04/2020 ore 24:00)
  2. 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.
  3. 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