• Non ci sono risultati.

Compito di Complementi di Basi di Dati 10 febbraio 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di Dati 10 febbraio 2010"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di Dati

10 febbraio 2010

Esercizio 1:

Si supponga che per memorizzare i dati relativi alla gestione di un insieme di stazioni per il riforni- mento di carburante della regione Friuli Venezia Giulia sia stata usata un’unica tabella ST AZION E con la seguente struttura:

ST AZION E(CodiceStazione, Azienda, ComuneStazione, ComuneAzienda, P ompa, Carburante, Dipendente)

Sia dato il seguente insieme di requisiti. Ogni stazione di rifornimento sia identificata univocamente da un codice e sia caratterizzata dal comune in cui si trova e dall’azienda che la possiede. Ogni azienda sia identificata univocamente da un codice e sia caratterizzata dal comune ove ha sede. In ogni stazione vi siano una o pi`u pompe per l’erogazione del carburante, ciascuna identificata da un numero (pompa numero 1, pompa numero 2, ..). Ogni pompa eroghi un unico (tipo di) carburante. Ogni azienda disponga di un certo insieme di dipendenti. Ogni dipendente lavori per un’unica azienda e sia asseganto ad una ed una sola delle stazioni di propriet`a dell’azienda.

(a) Determinare le dipendenze funzionali della relazione ST AZION E.

(b) Determinare le chiavi candidate e gli attributi primi e non primi di ST AZION E.

(c) Stabilire se ST AZION E `e o meno in 3NF.

(d) Stabilire se ST AZION E `e o meno in 2NF.

(e) Stabilire se ST AZION E `e o meno in BCNF.

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

(g) (facoltativo) Stabilire se la scomposizione di cui al punto precedente `e o meno in BCNF?

Esercizio 2:

Si descrivano le modalit`a di gestione della concorrenza in SQL:1999. In particolare, si descrivano i diversi possibili livelli di isolamento. Successivamente, si stabilisca se i seguenti schedule appartengono o meno a 2PL stretto, 2PL, TS, CSR e VSR:

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

2. s2: r2(x), r1(x), w2(x), r4(z), r3(x), w1(x), r3(y), r3(x), w1(y), w1(z), r5(y), w5(x), r5(z);

3. s3: r2(y), w2(y), r3(z), r1(x), w1(x), r3(y), w3(y), r2(z), w3(z), r2(x), r1(y), w2(x), w1(y);

Esercizio 3:

Siano date le tabelle:

Azienda(nomeAzienda, amministratoreDelegato, provinciaSede) Dipendente(cf, nome, cognome, recapito, azienda)

1

(2)

Si costruisca una vista materializzata P ersonale, che tenga traccia del numero di dipendenti di ogni azienda, e due trigger che aggiornino il contenuto di tale vista a fronte di inserimenti e cancellazioni relativi alla tabella Dipendente.

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. La dimensione del campo chiave primaria V sia 9 byte; la dimensione del puntatore a blocco P sia 6 byte.

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

(b) Si assuma che il file sia ordinato rispetto alla chiave primaria V . Determinare il numero medio di accessi a blocco richiesto da una ricerca basata su un campo V0 non chiave di dimensione 9 byte.

(c) Si assuma che il file sia ordinato rispetto alla chiave primaria V . Determinare il numero medio di accessi a blocco richiesto da una ricerca basata su un campo chiave V0, diverso dalla chiave primaria, di dimensione 9 byte.

(d) Si assuma che il file sia ordinato rispetto alla chiave primaria V . 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 V . Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito su un campo chiave V0, diverso dalla chiave primaria, di dimensione 9 byte.

(f) Si determinino dimensione e struttura di un indice multilivello statico ottenuto a partire dall’indice secondario di cui al punto (e).

(g) Si determini la dimensione di un B-albero, con campo di ricerca il campo chiave primaria V , puntatore ai dati 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

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

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