Basi di Dati e Sistemi Informativi II Esercizi e Domande d`esame
Transcript
Basi di Dati e Sistemi Informativi II Esercizi e Domande d`esame
Basi di Dati e Sistemi Informativi II Esercizi e Domande d’esame 1. Descrivere brevemente l’hashing lineare. Mostrare l’evoluzione della struttura di hash lineare seguente: A B C D 00 01 10 11 quando si verifica un trabocco da A seguito da uno da D. 2. Dato il seguente insieme di chiavi: 27, 19, 6, 10, 34, 15, 2, 40, 31, 3, 20, 7, 8, 9, 11, 12, 13 (a) Mostrare il B-albero di ordine 5 ottenuto inserendo le chiavi nell’ordine dato. (b)Mostrare il B-albero ottenuto dalla cancellazione dell’elemento 22 dall’albero al punto (a). 3. Descrivere brevemente l’hashing estensibile. Data la configurazione mostrare la configurazione risultante dopo che si e’ verificato un trabocco da B e quella ottenuta dopo un successivo trabocco da A. 1 4. Descrivere le organizzazioni hash. Come vengono gestiti i trabocchi? Cosa e’ il fattore di caricamento? Cosa distingue l’hashing statico da quello dinamico? 5. Gestione dei trabocchi nelle organizzazioni Hash. Nelle tecniche di hashing dinamico e’ necessario/possibile fare una gestione dei trabocchi? Se si’ dire in quali casi e perche’. 6. (a) Definire la conflict-serializzabilita’. (b) Dire se lo schedule seguente: S: r1 (x) w2 (x) c2 w1 (x) c1 w3 (x) c3 e’ conflict-serializzabile. (c) S e’ accettato da un serializzatore che utilizza i timestamps? (d)S e’ accettato da un serializzatore 2PL? E da un serializzatore 2PL stretto? 7. (a) Illustrare mediante un esempio l’anomalia della “lettura sporca”. (b) Descrivere il protocollo di locking a due fasi. (c) Il locking a due fasi risolve il problema della lettura sporca? Perché? 8. (a) Descrivere la tecnica di controllo della concorrenza che utilizza i timestamp. (b) Dire se lo schedule seguente: S: r1 (y) r3 (x) r2 (x) w3 (x) c3 w1 (y) c1 r2 (y) w2 (z) c2 e’ accettato da un serializzatore che utilizza i timestamps. (c)S e’ accettato da un serializzatore 2PL? E da un serializzatore 2PL stretto? 9. (a) Definire la conflict-equivalenza e la conflict-serializzabilita’. (b) Dire se lo schedule seguente: S: r1 (x) w2 (x) c2 w1 (x) c1 w3 (x) c3 2 e’ conflict-serializzabile. (c) S e’ accettato da un serializzatore che utilizza i timestamps? (d)S e’ accettato da un serializzatore 2PL? E da un serializzatore 2PL stretto? 10. (a)Descrivere la tecnica di controllo della concorrenza che utilizza i timestamp. (b) Dire se lo schedule seguente: S: r3 (x) r2 (x) w3 (x) c3 w1 (y) c1 r2 (y) w2 (z) c2 e’ accettato da un serializzatore che utilizza i timestamps? (c)S e’ accettato da un serializzatore 2PL? E da un serializzatore 2PL stretto? 11. (a) Descrivere brevemente il controllo della concorrenza basato su timestamp. (b) Data la seguente sequenza di azioni sull’oggetto x, quali transazioni vengono abortite se il controllo della concorrenza è basato su timestamp? r(x, 19), w(x, 14), r(x, 21), r(x, 22), r(x, 20), w(x, 25), w(x,18), r(x, 30), w(x, 29) Come cambia il risultato se si considera un controllore che usa il timestamp multiversione ? Supporre in entrambi i casi che, inizialmente, RTM(x)=15 e WTM(x)=15. 12. Descrivere i concetti fondamentali del locking gerarchico. E’possibile ottenere un lock esclusivo (XL) su di una tabella su cui e’ gia’ stato messo un lock di tipo ISL? Perche’ ? 13. Descrivere la ripresa a caldo. Quali azioni vengono intraprese (dall’algoritmo disfare-rifare) se al momento del fallimento il log contiene le seguenti informazioni? B(T1), U(T1,A,50,20), B(T2), I(T2,B,20), B(T3), C(T1), CKPT(T2,T3), U(T2,C,5,10), A(T2), B(T4), U(T4,D,20,30), B(T5), C(T4), U(T5,E,50,30), C(T5), B(T6), U(T6,F,5,11) 3 14. Dire a quale scopo viene utilizzato e quali informazioni contiene il file di log. Descrivere: - l’operazione di checkpoint - la regola WAL e la regola di commit precedenza - la politica dell’update differito 15. Descrivere il sort-merge join. 16. Descrivere il nested-loop join (considerare la possibile presenza di indici sugli attributi di join) 17. Come viene realizzato l’operatore di proiezione? Quale e’ il suo costo? 18. Come viene realizato l’operatore di selezione? Considerare la possibile presenza di indici e condizioni di selezione che siano semplici oppure complesse (in particolare, congiunzioni o disgiunzioni). Quale e’ il costo di esecuzione? Cosa e’ il fattore di selettivita’ ? 19. Descrivere l’hash-join. Quale e’ il costo di esecuzione? 20. Quali sono le fasi del processo di ottimizzazione? Descriverle brevemente. 4