• Non ci sono risultati.

Compito di Complementi di Basi di Dati 19 dicembre 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di Dati 19 dicembre 2007"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di Dati

19 dicembre 2007

Esercizio 1:

Si supponga che per memorizzare i dati relativi all’offerta di ristoranti di una data citt`a sia stata usata un’unica tabella RIST ORAN T E con la seguente struttura:

RIST ORAN T E(N omeRistorante, Indirizzo, N umeroF orchette, P roprietario, M embroP ersonale, RuoloM embroP ersonale, OreSettimanali)

Sia dato il seguente insieme di requisiti. Ogni ristorante sia identificato univocamente dal nome e possieda un unico proprietario e un certo insiemi di membri del personale. Di ogni ristorante venga, inoltre, memorizzato l’indirizzo e il livello, espresso dal numero di forchette ad esso assegnato (1,2,3, ..). Ogni proprietario sia identificato univocamente dal suo codice fiscale e possa possedere pi`u ristoranti, tutti dello stesso livello. Ogni membro del personale sia identificato univocamente dal suo codice fiscale. Un membro del personale possa lavorare per pi`u ristoranti, con la possibilit`a di ricoprire ruoli diversi in ristoranti diversi (ad esempio, capo cuoco in un ristorante, aiuto cuoco in un altro). Di ogni membro del personale si voglia sapere, per ogni ristorante presso cui lavora, il numero di ore settimanali di lavoro presso tale ristorante (si assuma che tale valore rimanga invariato nel tempo).

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

(b) Determinare le chiavi candidate e gli attributi primi e non primi di RIST ORAN T E.

(c) Stabilire se RIST ORAN T E `e o meno in BCNF.

(d) Stabilire se RIST ORAN T E `e o meno in 3NF.

(e) Stabilire se RIST ORAN T E `e o meno in 2NF.

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

Esercizio 2:

Stabilire se i seguenti schedule appartengono o meno a VSR, CSR, TS, 2PL e 2PL stretto. Nel caso appartengano a VSR e/o a CSR, determinare tutti gli schedule seriali ad essi equivalenti.

1. w1(x), r1(x), r2(y), w3(x), r3(y), r2(x), w3(y), w1(y)

2. r1(x), r1(t), w4(y), r4(x), r4(z), r3(x), w4(x), w2(t), r3(z), w2(z), w3(y), w1(y) 3. r4(x), r1(x), w4(x), r1(y), w3(y), r4(z), w4(z), w3(z), w1(t), w2(z), w2(t)

Esercizio 3:

Si discutano i problemi legati all’interazione tra trigger e transazioni. Successivamente, date le tabelle:

Citt`a(nomeCitt`a, provincia, sindaco)

i

(2)

P ersona(cf, nome, cognome, via, numero, citt`aResidenza)

si costruisca una vista materializzata P opolazione, che tenga traccia del numero di residenti di ogni citt`a, e due trigger che aggiornino il contenuto di tale vista a fronte di inserimenti e cancellazioni relativi alla tabella P ersona.

Esercizio 4:

Si consideri un file ordinato con r=50000 record, memorizzato su un disco con dimensioni del blocco B=1024 byte. I record abbiano lunghezza fissa R=150 byte e siano di tipo unspanned. Il campo chiave del file abbia dimensione V=12 byte ed il puntatore a blocco abbia dimensione P=8 byte.

(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, (ii) ordinato rispetto alla chiave, (iii) con indice primario e (iv) con indice secondario costruito sul campo chiave.

(b) Convertire il file con indice primario in uno con indice multilivello. Quanti livelli sono necessari?

Calcolare il numero di blocchi associato ad ogni livello.

(c) Convertire il file con indice secondario in uno con indice multilivello. Quanti livelli sono necessari?

Calcolare il numero di blocchi associato ad ogni livello.

Riferimenti

Documenti correlati

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

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

Si assuma che per una stessa occasione possono essere offerti pi` u men` u, ma che un men` u possa essere offerto in un’unica occasione (un men` u natalizio non pu` o essere anche

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