1) Dato il seguente schema di base di dati:
1a) Trovare matricola, nome, cognome e indirizzo degli studenti che hanno conseguito una votazione maggiore o uguale a 27 in almeno uno dei seguenti esami: Analisi I, Programmazione I, Logica del corso di laurea in Informatica.
1b) Per ogni studente che ha superato l'esame di Analisi I del
corso di laurea in Informatica con 30, trovare nome, cognome, numero di
matricola e media dei voti riportati negli esami sostenuti.
_______________________________________________________________________________
2a) Dato il seguente schema di relazione
R = (A, B, C, D)
e il seguente insieme di dipendenze funzionali
F = { AÆ B, AÆ
C, BCÆ D, DÆ
A }
dire se la decomposizione
r = { ABC,BCD }
preserva le dipendenze in F e descrivere come si è
arrivati alla risposta.
2b) Dato il seguente schema di relazione
R = (A, B, C, D, E)
e il seguente insieme di dipendenze funzionali
F = { EÆ D, DÆ
A, ADÆ B, ABÆ
C, CÆ E, EÆ
AB }
dire se la decomposizione
r = { AE, CE, BCD }
ha un join senza perdita e descrivere come si è arrivati
alla risposta.
________________________________________________________________________________
3) Abbiamo un file di 275.000 record. Ogni record occupa 200 byte.
Ogni blocco contiene 1024 byte. Un puntatore a blocco occupa 5 byte.
3a) Se usiamo una organizzazione hash con 3000 bucket, quanti blocchi dobbiamo utilizzare complessivamente per la bucket directory e per i bucket, se supponiamo che il 35% dei record sia distribuito in modo uniforme su 1250 bucket, e che il restante 65% dei record sia distribuito in modo uniforme sui 1750 bucket rimanenti ?
3b) Se assumiamo una distribuzione uniforme dei record nei bucket, quanti
bucket dovremmo creare per avere in una ricerca un numero medio di accessi
al blocco ? 20?
1) Dato il seguente schema di base di dati:
PERSONA(CF, Nome, Cognome, Indirizzo, Comune-Residenza, Provincia)
PROVINCIA(Nome-Provincia, Regione)
1a) Trovare nome e cognome degli abitanti nel comune di Tivoli
in provincia di Roma che hanno omonimi (persone con uguale nome e cognome)
nello stesso comune (restituire un risultato senza duplicati).
1b) Trovare il numero di abitanti per ogni comune della Lombardia
(nel risultato nome del comune, provincia e numero di abitanti).
_______________________________________________________________________________
2a) Dato il seguente schema di relazione
R = (A, B, C, D, E)
e il seguente insieme di dipendenze funzionali
F = { ABÆ C, BÆ
D, DÆ C }
Verificare che R non è in 3NF.
2b) Fornire una decomposizione di R tale che:
- ogni schema della decomposizione è in 3NF,
- la decomposizione preserva F,
- la decomposizione ha un join senza perdite.
_______________________________________________________________________________
3) Supponiamo di avere un file di 750.000 record. Ogni record occupa
250 byte, di cui 40 per il campo chiave. Ogni blocco contiene 2048 byte.
Un puntatore a blocco occupa 4 byte. Usiamo una organizzazione ISAM.
3a) Supponendo di essere in fase di inizializzazione e di lasciare
libero il 20% dello spazio (approssimato per eccesso) sia nei blocchi del
file principale che nei bocchi indice,quanti blocchi dobbiamo utilizzare
complessivamente per il file indice e per il file principale ?
3b) Nella situazione dell'esercizio 3a), quale e' il costo massimo di
una ricerca ?