• Non ci sono risultati.

Compito di Complementi di Basi di Dati 22 settembre 2008

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di Dati 22 settembre 2008"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di Dati

22 settembre 2008

Esercizio 1:

Si supponga che per memorizzare i dati relativi ad un insieme di aziende operanti su un determinato territorio sia stata usata un’unica tabella GestioneAziende con la seguente struttura:

GestioneAziende(direttoreSede, CodiceAzienda, stipendioDirettore, citt`aResidenza, citt`aSede, amministratoreDelegato).

Si assuma che:

(i) ogni azienda sia identificata univocamente da un codice e possieda un unico amministratore delegato ed una o pi`u sedi;

(ii) aziende diverse possano avere una sede nella medesima citt`a;

(iii) ogni amministratore delegato di un’azienda sia identificato univocamente dal proprio codice fiscale;

(iv) una persona possa essere amministratore delegato di un’unica azienda (l’azienda per cui lavora);

(v) ogni sede di un’azienda sia caratterizzata dalla citt`a in cui si trova (ossia un’azienda non possa avere pi`u sedi in una stessa citt`a) e diretta da un’unica persona;

(vi) ogni direttore di sede sia identificato univocamente dal proprio codice fiscale e possieda uno stipendio e una citt`a di residenza;

(vii) una persona possa dirigere pi`u sedi (dell’azienda per cui lavora).

Con riferimento allo schema dato, si esegua quanto segue.

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

(b) Determinare le chiavi candidate e gli attributi primi e non primi di GestioneAziende.

(c) Stabilire se GestioneAziende `e o meno in BCNF (in caso di risposta negativa, con riferimento all’insieme determinato al punto (a), si determini il sottoinsieme delle dipendenze che violano la BCNF).

(d) Stabilire se GestioneAziende `e o meno in 2NF.

(e) Stabilire se GestioneAziende `e o meno in 3NF (in caso di risposta negativa, con riferimento all’insieme determinato al punto (a), si determini il sottoinsieme delle dipendenze che violano la 3NF).

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

Esercizio 2:

Si stabilisca se i seguenti schedule appartengono o meno a VSR, CSR, TS, 2PL e 2PL stretto (nel caso in cui uno schedule sia in CSR, indicare tutti gli schedule seriali ad esso equivalenti):

(s1) r1(t), r3(z), w4(t), w1(z), w1(y), w5(t), r3(x), r2(x), r5(y), w2(x), r4(y), w5(x);

i

(2)

(s2) r1(t), r1(y), r3(x), r4(x), w2(x), r4(t), r3(t), w4(t), w4(z), w3(z), w1(z), w2(y);

(s3) r1(t), r2(t), w2(t), r3(t), r4(x), w1(t), r3(z), r3(t), w1(z), w5(t), w1(x), r5(z), r5(x).

Esercizio 3:

Si descrivano i principali utilizzi dei trigger attivi. Successivamente, data la relazione:

Ha Sede In(codiceAzienda, citt`aSede)

si costruisca una vista materializzata SediAziendali, che tenga traccia del numero di sedi di ogni azienda.

Infine, si definiscano due trigger che aggiornino il contenuto di tale vista a fronte di inserimenti e cancellazioni di sedi relativi alla tabella Ha Sede In.

Esercizio 4

Si consideri un file contenente 200000 record di dimensione prefissata pari a 100 byte, memorizzati in blocchi di dimensione pari a 1024 byte in modo unspanned.

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, con dimensione del puntatore a blocco pari a 6 byte. Successivamente, si determini la dimensione di un indice multilivello ottenuto a partire dall’indice secondario. Infine, 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 a blocco ausiliario di dimensione pari a 6 byte, assumendo che ciascun nodo del B+-albero sia pieno al 70%.

Riferimenti

Documenti correlati

Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito su un campo chiave V 0 , diverso dalla chiave primaria, di dimensione 9

[4b] Determinare il numero di accessi a blocco richiesti da una ricerca con indice secondario denso costruito su un campo non chiave di dimensione V 2 = 15 byte.. [4c] Si

(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

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,