Corsi -> Basi di Dati e Sistemi Informativi I (Canale1) ->  Tracce di esame sessione autunnale 2001
 
 



07-09-2001
 

1) Dato il seguente schema di base di dati:

STUDENTE(Matricola, Nome, Cognome, Indirizzo)
CORSO(C#, Titolo, Docente, CorsoLaurea)
ESAME(C#, Matricola, Data, Voto)
NOTE:
- C# è il codice di un corso, che varia a seconda del corso di laurea in cui il corso è attivato;
- CorsoLaurea è il nome di un corso di laurea.

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?
 





21-09-2001
 

1) Dato il seguente schema di base di dati:

PERSONA(CF, Nome, Cognome, Indirizzo, Comune-Residenza, Provincia)
PROVINCIA(Nome-Provincia, Regione)

NOTE:
- CF è il codice fiscale;
- PERSONA.Provincia e PROVINCIA.Nome-Provincia sono stringhe che contengono il nome della provincia;
- In province diverse possono trovarsi comuni con lo steso nome;

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 ?