• Non ci sono risultati.

Compito di Complementi di Basi di Dati 31 marzo 2008

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di Dati 31 marzo 2008"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di Dati

31 marzo 2008

Esercizio 1:

Si supponga che per memorizzare i dati relativi alle pubblicazioni sulle riviste di un dato settore scientifico sia stata usata un’unica tabella P U BBLICAZION I con la seguente struttura:

PUBBLICAZIONI( Articolo, Autore, Argomento, Titolo, Rivista, Posizione, Nazione, Direttore, Ente)

Si assuma che ogni articolo comparso su una data rivista sia identificato univocamente da un codice, sia caratterizzato da un titolo e un argomento e possieda uno o pi`u autori. Si voglia tener traccia della posizione di ogni autore di un articolo (il primo autore `e l’autore in posizione 1, il secondo autore quello in posizione 2 e cos`ı via; l’unico autore di un articolo a singolo autore `e ovviamente l’autore in posizione 1).

Si assuma che un autore possa aver scritto pi`u di un articolo e che non esistano due articoli diversi con il medesimo titolo. Si assuma, inoltre, che ogni autore sia identificato univocamente dal nome e appartenga ad un unico ente di ricerca. Ancora, si assuma che ogni rivista sia identificata univocamente dal nome e sia caratterizzata dalla nazione ove ha sede. Si assuma, infine, che ogni rivista abbia un unico direttore e che un direttore possa dirigere una o pi`u riviste.

(a) Determinare le dipendenze funzionali della relazione P U BBLICAZION I.

(b) Determinare le chiavi candidate e gli attributi primi e non primi di P U BBLICAZION I.

(c) Stabilire se P U BBLICAZION I `e o meno in BCNF.

(d) Stabilire se P U BBLICAZION I `e o meno in 2NF.

(e) Stabilire se P U BBLICAZION I `e o meno in 3NF.

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

Esercizio 2:

Mostrare come il metodo del locking a due fasi eviti le anomalie di perdita di aggiornamento e di letture inconsistenti. Successivamente, stabilire se i seguenti schedule appartengono o meno a VSR, CSR, 2PL, 2PL stretto e TS:

1. s1: w1(x), r2(t), r1(y), w3(t), r2(y), r4(y), w2(x), w4(y), r1(z), w4(x), w3(z), r4(t);

2. s2: r2(z), r1(x), w1(t), r2(x), w4(t), w2(z), r1(y), w2(x), w3(z), w4(z), w3(y);

3. s3: r4(y), r1(x), w2(x), r3(z), r2(x), w1(x), r3(y), w2(x), w4(z).

Esercizio 3:

Con riferimento alle tecniche per il controllo obbligatorio dell’accesso ai dati (sicurezza multilivello), si illustri la nozione di chiave apparente e si discutano i vincoli imposti sugli attributi che costituiscono la chiave apparente (in particolare, nel caso in cui la chiave apparente comprenda pi`u di un attributo).

1

(2)

Successivamente, sia data l’istanza {((73298, C), (LaSapienza, C), (ottima, S), (discreta, S), S), ((73298, C), (LaSapienza, C), (buona, T S), (discreta, S), T S), ((73333, U ), (T rieste, U ), (moltoBuona, C), (buona, U ), C), } della relazione

ST U DEN T E(M AT RICOLA, U N IV ERSIT A0, P REP ARAZION E, AU T ON OM IA) 1. Come appare tale relazione ad un utente (classificato come utente) di livello C?

2. Si supponga che un utente (classificato come utente) di livello C voglia assegnare i valori molto buona e ottima all’attributo PREPARAZIONE degli studenti 73298 dell’Universit`a La Sapienza e 73333 dell’Universit`a di Trieste, rispettivamente. Qual `e il risultato di tali operazioni?

Esercizio 4:

Si consideri un file contenente 10000000 record di dimensione prefissata pari a 100 byte, memorizzati in blocchi di dimensione pari a 1024 byte in modo unspanned. Si assuma che il file sia ordinato rispetto ad un campo chiave V 1 di dimensione pari a 15 byte.

1. Si determini il numero di accessi a blocco richiesti da una ricerca basata su un indice secondario costruito su un campo chiave non ordinante V 2 di dimensione pari a 9 byte, con dimensione del puntatore a blocco pari a 6 byte.

2. Successivamente, si determini la dimensione e il numero di accessi a blocco richiesti da una ricerca basata su un indice multilivello statico ottenuto a partire dall’indice secondario definito al punto precedente.

3. 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 (record) di dimensione pari a 7 byte e puntatore ausiliario di dimensione pari a 6 byte, assumendo che ciascun nodo del B-albero sia pieno al 70%.

Riferimenti

Documenti correlati

[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

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

(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