1) Dato il seguente schema di base di dati:
STUDENTE(Matr,Nome,Cognome,Indirizzo,Tel)
ESAME(Matr,C#,Data,Voto)
PROPEDEUTICITA(Prec,Succ)
1a) Trovare il numero degli studenti che nel 2001 non hanno sostenuto
esami.
1b) Trovare i cognomi degli studenti che per qualche corso hanno riportato
un voto inferiore a quello riportato per qualche corso ad esso propedeutico
.
________________________________________________________________________________
2) Dato il seguente schema di relazione
R = (A, B, C, D, E, H)
e il seguente insieme di dipendenze funzionali
F = { ABÆ CD, CÆ
E, ABÆE, ABCÆ
D }
2a) Verificare che ABH è una chiave per R.
2b) Sapendo che ABH è líunica chiave per R, verificare che R
non è in 3NF.
2c) Trovare una copertura minimale G di F.
2d) Trovare una decomposizione r di R tale
che preserva G e ogni schema in r è in
3NF
2e) Trovare una decomposizione s di
R tale che preserva G, ha un join senza perdita e ogni schema in s
è in 3NF.
________________________________________________________________________________
3) Supponiamo di avere un file di 200.000 record. Ogni record occupa
150 byte, di cui 40 per il campo chiave. Ogni blocco contiene 512 byte.
Un puntatore a blocco occupa 4 byte. Usiamo un indice ISAM sparso, e assumiamo
che i record non siano puntati e che il fattore di utilizzo sia dei blocchi
del file dati sia dei blocchi dellíindice sia 0,8 (cioè i blocchi
non sono completamente pieni, ma pieni allí 80%).
3a) Quanti blocchi dobbiamo utilizzare per il file dati (file principale)?
3b) Quanti blocchi dobbiamo usare per líindice ?
3c) Calcolare il numero massimo di accessi per la ricerca di un record
nel file principale, utilizzando la ricerca binaria sul file indice.
1) Dato il seguente schema di base di dati:
CLIENTE(C#,Nome,Indirizzo)
ARTICOLO(A#,Descrizione,Prezzounitario)
ORDINE(O#,C#,A#,Quantita,Data)
RICAMBI(A#,P#)
1a) Trovare nome e indirizzo dei clienti che in un loro ordine
hanno incluso 100 pezzi di uno stesso articolo o un articolo con prezzo
superiore a 1.000.000.
1b) Trovare per ciascun pezzo di ricambio il codice dell'articolo
che ha quel pezzo di ricambio e la quantità complessiva in cui è
stato ordinato (includere nel risultato sia il codice del pezzo che dell'articolo).
1c) Trovare l'importo complessivo di ciascun ordine (includere
nel risultato il codice dell'ordine).
_______________________________________________________________________________
2a) Dato il seguente schema di relazione
R = (A, B, C, D, E, G, H)
e il seguente insieme di dipendenze funzionali
F = { ABÆ CD, EHÆ
D, DÆ H }
determinare una chiave di R, e, sapendo che la chiave è unica,
verificare che R non è in 3NF.
2b) Dato il seguente schema di relazione
R = (A, B, C, D, E)
e il seguente insieme di dipendenze funzionali
F = { CÆ D, ABÆ
E, DÆ B }
dire se la decomposizione
r = { AC,ADE,CDE,AD, B }
ha un join senza perdita e descrivere come si è arrivati
alla risposta.
2c) Dato il seguente schema di relazione
R = (A, B, C, D)
e il seguente insieme di dipendenze funzionali
F = { ABÆ C, DÆ
C, DÆ B, CÆ
B, DÆ A }
dire se la decomposizione
r = { ABC,ABD }
preserva le dipendenze in F e descrivere come si è
arrivati alla risposta.
________________________________________________________________________________
3) Supponiamo di avere un file di 780.000 record. Ogni record occupa 250. Ogni blocco contiene 1024 byte. Un puntatore a blocco occupa 4 byte. Usiamo una organizzazione hash con 2500 bucket.
3a) Quanti blocchi dobbiamo utilizzare complessivamente per la bucket
directory e per i bucket, assumendo una distribuzione uniforme dei record
nei bucket ?
3b) Quanti blocchi dobbiamo utilizzare complessivamente per i bucket,
assumendo che il 30% dei record sia distribuito in modo uniforme su 1000
bucket, e che il restante 70% dei record sia distribuito in modo uniforme
sui 1500 bucket rimanenti ?
1) Dato il seguente schema di base di dati:
IMPIEGATO(Matr, Nome, Cognome, Indirizzo)
QUALIFICA(Matr, Qualifica, Mese, Anno)
STIPENDIO(Qualifica, Stipendio-base)
STRAORDINARIO(Matr, N-ore, Mese, Anno)
RETRIB-STRAORD(Qualifica, Retr-Oraria)
1a) Trovare nome e cognome degli impiegati che a maggio del 2001
hanno percepito lo stipendio base più alto.
1b) Trovare per ogni impiegato nome, cognome e la somma totale
percepita nel mese di giugno 2001.
_______________________________________________________________________________
2a) Dato il seguente schema di relazione
R = (A, B, C, D, E, G, H)
e il seguente insieme di dipendenze funzionali
F = { ABÆ D, GÆ
A, GÆ B, HÆ
E, HÆ G, DÆ
H }
determinare le 4 chiavi di R.
2b) Dato il seguente insieme di dipendenze funzionali
F = { BCÆ DE, CÆ
D, BÆD, EÆ
L, DÆ A, BCÆ
AL }
trovare una copertura minimale di F.
2c) Dato il seguente schema di relazione
R = (A, B, C, D, E, G)
e il seguente insieme di dipendenze funzionali
F = { ABÆ C, DGÆ
B, GÆ D, EÆ
G }
dire se la decomposizione
r = { ABD, AEG,BCE }
ha un join senza perdita e descrivere come si è arrivati
alla risposta.
_______________________________________________________________________________
3) Supponiamo di avere un file di 700.000 record. Ogni record occupa
280 byte, di cui 45 per il campo chiave. Ogni blocco contiene 2048 byte.
Un puntatore a blocco occupa 4 byte. Usiamo una organizzazione B-tree.
Quanti blocchi al massimo dobbiamo utilizzare complessivamente per il file
indice (totale dei blocchi di tutti i livelli) e per il file principale
(livello foglia)?