• Non ci sono risultati.

Compito di Complementi di Basi di dati 14 settembre 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di dati 14 settembre 2010"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di dati

14 settembre 2010

Esercizio 1:

Si supponga che per memorizzare alcuni dati anagrafici relativi ad un insieme di persone di interesse sia stata usata un’unica tabella AN AGRAF E con la seguente struttura:

AN AGRAF E(CF P ersona, N ome, Cognome, V iaResidenza, N CivicoResidenza, CAP Residenza, CittaResidenza, DataN ascita, CittaN ascita)

Sia dato il seguente insieme di requisiti. Ogni persona sia identificata univocamente dal proprio codice fiscale. Ogni persona sia caratterizzata da un (unico) nome ed un (unico) cognome. Vi possano essere persone diverse con lo stesso nome e/o con lo stesso cognome. Ogni persona abbia un’unica residenza, un’unica citt`a di nascita e un’unica data di nascita. Persone diverse possano avere la medesima residenza.

Vi possano essere vie con lo stesso nome in citt`a diverse, ma non nella stessa citt`a. Ad ogni CAP corrisponda un’unica citt`a, ma non valga il viceversa: a (parti diverse di) una stessa citt`a possano essere associati CAP diversi.

(a) Determinare le dipendenze funzionali della relazione AN AGRAF E, indicando, per ciascuna di esse, il requisito codificato.

(b) Determinare le chiavi candidate e gli attributi primi e non primi di AN AGRAF E.

(c) Stabilire se AN AGRAF E `e o meno in 3NF.

(d) Stabilire se AN AGRAF E `e o meno in 2NF.

(e) Stabilire se AN AGRAF E `e o meno in BCNF.

(f) Nel caso in cui AN AGRAF E non sia in 3NF, fornire una scomposizione lossless join in 3NF di AN AGRAF E che conservi le dipendenze.

Esercizio 2:

Si considerino i seguenti schedule:

s1: r0(x), w0(x), r1(x), r2(y), w0(y), w1(x);

s2: r0(x), w1(x), r1(x), w0(x), w2(x), r2(x);

s3: r0(x), r0(y), w1(x), r0(v), r2(x), w1(y), w2(v), r3(y), w4(y), r3(v).

Stabilire se gli schedule dati sono o meno serializzabili rispetto alle viste, rispetto ai conflitti, rispetto al metodo del locking a due fasi, rispetto al metodo basato sui timestamp e rispetto al metodo del locking a due fasi stretto.

Esercizio 3:

Sia dato un file contenente r = 4000000 record, memorizzati su un disco con dimensione del blocco B = 4096 byte. I record abbiamo lunghezza fissa R = 400 byte e siano di tipo unspanned. La dimensione del campo chiave primaria sia V 1 = 15 byte; la dimensione del puntatore ad un blocco sia P = 5 byte.

i

(2)

(a) Si assuma che il file non sia ordinato rispetto ad alcun campo. Determinare il numero medio di accessi a blocco richiesto da una ricerca basata sulla chiave primaria.

(b) Si assuma che il file non sia ordinato rispetto ad alcun campo. Determinare il numero medio di accessi a blocco richiesto da una ricerca basata su una chiave candidata (diversa dalla chiave primaria) di dimensione V 2 = 10 byte.

(c) Si assuma che il file sia ordinato rispetto alla chiave primaria. Determinare il numero medio di accessi a blocco richiesto da una ricerca basata sulla chiave primaria.

(d) Si assuma che il file sia ordinato rispetto alla chiave primaria. Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice primario.

(e) Si assuma che il file sia ordinato rispetto alla chiave primaria. Determinare il numero medio di accessi a blocco richiesto da una ricerca basata su una chiave candidata (diversa dalla chiave primaria) di dimensione V 2 = 10 byte.

(f) Si assuma che il file non sia ordinato rispetto ad alcun campo. Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito sulla chiave primaria.

(g) Si assuma che il file non sia ordinato rispetto ad alcun campo. Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito su una chiave candidata (diversa dalla chiave primaria) di dimensione V 2 = 10 byte.

(h) Si assuma che il file sia ordinato rispetto alla chiave primaria. Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito su una chiave candidata (diversa dalla chiave primaria) di dimensione V 2 = 10 byte.

Esercizio 4:

Descrivere brevemente le caratteristiche fondamentali delle procedure di ripristino da guasto denominate rispettivamente ripresa a caldo e ripresa a freddo, spiegando gli utilizzi dell’una e dell’altra. Successiva- mente, descrivere l’esecuzione della procedura di ripresa a caldo, mostrando la costruzione passo passo degli insiemi UNDO e REDO e l’applicazione delle azioni di ripristino, a fronte del seguente input:

B(T1), I(T1, O1, A1), U (T1, O2, B2, A2), B(T2), D(T2, O2, B3), B(T3), I(T3, O3, A4), U (T2, O3, B5, A5), C(T3), B(T4), I(T2, O4, B6), D(T4, O1, B7), C(T1), CK(T2, T4), C(T2), B(T5), U (T4, O4, B8, A8), D(T5, O3, B9), B(T6), A(T5), U (T6, O2, B10, A10), C(T4), I(T6, O4, A11), guasto

Esercizio 5

(facoltativo)

Si dimostri che i primi membri ‘singleton’ (vale a dire costituiti da un singolo attributo) sono insuffi- cienti per le dipendenze funzionali (suggerimento: fornire un insieme di dipendenze funzionali che non sia equivalente ad alcun insieme di dipendenze funzionali del tipo {B1 → C1, . . . , Bn → Cn}, dove Bi e Ci, per i = 1 . . . , n, sono singoli attributi).

Riferimenti

Documenti correlati

(e) Stabilire se T EAT RI ` e o meno in BCNF (in caso di risposta negativa, con riferimento all’insieme determinato al punto (a), si determini il sottoinsieme delle dipendenze

Si considerino un B-albero e un B + - albero che abbiano come campo di ricerca un campo chiave non ordinante di dimensione V = 15 byte, dimensione dei puntatori ai record di dati P r

Determinare il numero di accessi a blocco richiesti da una ricerca basata su un indice secondario denso costruito su un campo chiave non ordinante V con dimensione pari a 9 byte,

Successivamente, si determini la dimensione di un B-albero, con campo di ricerca il campo chiave V, puntatore ai dati di dimensione pari a 7 byte e puntatore ausiliario di

La quota associativa possa variare da un anno all’altro e da socio a socio (le quote pagate dal socio Adriano Panetta negli anno 2001 e 2002 possano essere diverse, cos`ı come

Infine, si determini la dimensione e il numero di accessi a blocco richiesti da una ricerca basata su un B-albero, con campo di ricerca il campo chiave V 2, puntatore ai dati

(a) Determinare il numero di accessi a blocco richiesti da una ricerca basata sul valore del campo chiave in presenza delle seguenti organizzazioni del file: (i) non ordinato,

Infine, si tenga presente che uno stesso cliente pu`o effettuare pi` u prenotazioni dello stesso tipo di camere presso lo stesso albergo in periodi diversi (ad esempio, il cliente