• Non ci sono risultati.

Compito di Complementi di Basi di Dati 10 settembre 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Complementi di Basi di Dati 10 settembre 2007"

Copied!
2
0
0

Testo completo

(1)

Compito di Complementi di Basi di Dati

10 settembre 2007

Esercizio 1:

Si supponga che per memorizzare i dati relativi ad insieme di prenotazioni alberghiere sia stata usata un’unica tabella P REN OT AZION I con la seguente struttura:

P REN OT AZION I(clienteCF, recapitoCliente, albergo, categoriaAlbergo, tipoCamera, numeroCamere, prezzo, dataArrivo, dataP artenza, numeroCamereP renotate)

Sia dato il seguente insieme di requisiti. Di ogni cliente, identificato univocamente dal suo codice fiscale, viene mantenuto un recapito. Di ogni albergo, identificato univocamente dal suo nome, viene registrata la categoria. Per ogni albergo e ogni tipo di camera (singola/doppia/suite..) viene mantenuto il numero di camere disponibili (ad esempio, albergo Guerrini: 30 singole, 20 doppie, ..) e il prezzo (ad esempio, singole 90 euro, doppie 120 euro, ..). Un cliente pu`o prenotare pi`u camere, anche di tipo diverso, di un dato albergo. Per ogni tipo di camera, viene registrato il numero di camere prenotate (ad esempio, il cliente Rossi pu`o prenotare 2 doppie e 3 singole dell’albergo Guerrini). Non necessariamente le date di arrivo e di partenza sono le stesse per ogni tipo di camere (ad esempio, le 2 doppie sono prenotate dal 15 al 20 settembre, mentre le 3 singole dal 16 al 20 settembre). Assumiamo, invece, che camere dello stesso tipo vengano prenotate per lo stesso periodo (non `e possibile prenotare una doppia dal 14 al 20 settembre e l’altra dal 15 al 20 settembre). 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 Rossi pu`o prenotare 2 doppie dell’albergo Guerrini dal 15 al 20 settembre; successivamente, il medesimo cliente pu`o prenotare lo stesso numero o un numero diverso di doppie dello stesso albergo dal 20 al 24 ottobre).

(a) Determinare le dipendenze funzionali della relazione P REN OT AZION I, indicando, per ciascuna di esse, il requisito codificato.

(b) Determinare le chiavi candidate e gli attributi primi e non primi di P REN OT AZION I.

(c) Stabilire se P REN OT AZION I `e o meno in 2NF.

(d) Stabilire se P REN OT AZION I `e o meno in 3NF.

(e) Stabilire se P REN OT AZION I `e o meno in BCNF.

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

Esercizio 2:

Si risponda preliminarmente alle seguenti due domande, giustificando adeguatamente le risposte.

• Sia data una transazione che opera su due tabelle. Tale transazione pu`o (e, in caso di risposta affermativa, in che modo) eseguire un commit relativamente agli aggiornamenti effettuati su una delle due tabelle, senza eseguire contemporaneamente un commit relativamente agli aggiornamenti effettuati sull’altra?

i

(2)

• `E possibile annidare (e, in caso di risposta affermativa, in che modo) una transazione all’interno di un’altra?

Successivamente, si stabilisca se i seguenti schedule appartengono o meno a VSR, CSR, TS, 2PL e 2PL stretto:

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

2. r1(x), w3(z), w1(x), r3(y), r2(z), w3(y), r1(y), r2(x), w1(y), r2(y), w2(y), r3(z), w2(x).

Qualora appartengano a VSR o a CSR, fornire gli schedule seriali ad essi equivalenti.

Esercizio 3:

Si descrivano in modo sintetico le tipiche operazioni supportate dai DBMS relazionali per la codifica delle interrogazioni. Si discutano, in particolare, il diverso trattamento delle condizioni congiuntive (AND) e disgiuntive (OR), in presenza di predicati valutabili, e le diverse modalit`a di realizzazione dell’operazione di join.

Esercizio 4:

Si consideri un file contenente 10000000 record di dimensione prefissata pari a 50 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 chiave V0, diverso dalla chiave primaria, di dimensione 10 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 con indice primario.

(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 secondario costruito sul campo chiave V0. (e) Si determinino dimensione e struttura di un indice multilivello statico ottenuto a partire dall’indice

primario di cui al punto (c).

(f) 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

(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

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,

(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,

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

Di ogni membro del personale si voglia sapere, per ogni albergo presso cui lavora, il numero di ore settimanali di lavoro presso tale albergo.. (a) Determinare le dipendenze

Si assuma che ogni ricercatore sia contraddistinto da un identificatore che lo caratterizza univocamente (RicID), che ogni universit`a sia identificata univocamente dal suo nome, che

Il Corso ha lo scopo di fornire le nozioni basi del sistema giudiziario così da poter svolgere al meglio il ruolo sia di Con- sulente del Giudice che tecnico di parte:

La fiducia in se stessi è la sola strada per la vera libertà, ed essere se stessi è la ricompensa definitiva.