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

Basi di dati II

Anno accademico 2020-2021

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 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.

  1. 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
  2. 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.
  3. 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
  4. 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);
  5. esercizio discusso nella lezione dell'11/03/2021: hashing dinamico T01.4, lucidi iniziali (80-85);
  6. esercizio pratico 3.1 su SimpleDB proposto il 15/03/2021: accesso a record e blocchi, vedere E01.3, lucido 16 e poi la soluzione presentata il 22/03/2021: E01.4, lucido 2 e 3 e, soprattutto, registrazione (minuti iniziali) e anche codice
  7. 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
  8. 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)
  9. esempio discusso nella lezione del 18/03/2021 (ottimizzazione algebrica): T01.6 (lucidi 159-164)
  10. esempi discussi nella lezione del 24/03/2021 (mergesort): T01.7 (lucidi 183-211 e 216-234)
  11. esempio discusso nella lezione del 25/03/2021 (nested loop join con indice): T01.8 (lucidi 254-258)
  12. esempi discussi nella lezione del 25/03/2021 (hash join): T01.8 (lucidi 263-274 e 277-294)
  13. esercizio svolto nella lezione del 31/03/2021: esercizio 3 del 9/04/2018 (costo di vari join, con metodi diversi); lucidi a supporto e analisi su PostgreSQL.
  14. esercizi svolti nella lezione del 1/04/2021:
  15. esercizi svolti nella lezione del 7/04/2021:
  16. esercizi svolti nella lezione dell'8/04/2021:
  17. altri esercizi proposti il 25/03/2021:
  18. esempio discusso nella lezione del 15/04/2021 (recovery): T02.2, lucidi 68-83
  19. esercizio discusso nella lezione del 21/04/2021: esercizio 5 del 22/09/2017 (scelta del livello di isolamento) oppure, analogamente, T02.3 (lucidi 102-104)
  20. esercizi discussi nella lezione del 28/04/2021:
  21. altri esercizi proposti il 19/04/2021 --- alcuni saranno svolti nelle prossime lezioni
  22. 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
  23. esercizi discussi nella lezione del 03/05/2021:
  24. esercizi discussi nella lezione del 05/05/2021:
  25. esercizi discussi nella lezione del 13/05/2021:
  26. esercizio discusso nelle lezioni del 24 e 26/05/2021
  27. esercizio discusso nella lezione del 27/05/2021
  28. esercizio discusso nella lezione del 31/05/2021
  29. esercizio discusso nella lezione del 07/06/2021
  30. esercizio discusso nelle lezioni del 9 e 10/06/2021:
  31. esercizi discussi nell'esercitazione del 25/06/2021:
  32. esercizi discussi nell'esercitazione del 30/06/2021:
  33. 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, con le seguenti scadenze: in occasione delle prove parziali, se si intende sostenerle, altrimenti almeno due giorni prima della prova scritta d'esame.

  1. 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)
  2. 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.
  3. Progetto 3: progettare e realizzare il flusso di ETL come proposto nelle esercitazioni con riferimento al progetto "Prescrizioni farmaci". In particolare