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