18 Gennaio 2007
Transcript
18 Gennaio 2007
Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: ______________ Cognome: _________________ Matricola: __________ Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione delle lezioni di una scuola guida e si definisca il relativo schema E/R (nella metodologia proposta a lezione). Si evidenzino eventuali vincoli inespressi e attributi derivati. Una scuola guida vuole realizzare un sistema per la gestione degli iscritti e delle lezioni teoriche e pratiche impartite. Il sistema deve permettere la registrazione delle persone iscritte delle quali si memorizzano il nominativo, l’indirizzo, il numero di telefono, la data di nascita e la data d’iscrizione. La scuola guida dispone di un insieme di automobili che vengono usate durante le lezioni pratiche. Di ciascuna automobile si memorizzano la targa, la marca, il modello e la data d’immatricolazione. Le lezioni impartite possono essere di teoria o di guida. Di ciascuna lezione si devono memorizzare la data, l’ora e l’insegnante che l’ha tenuta. Le lezioni di teoria sono impartite a un insieme di iscritti e si svolgono in un’aula (si possono tenere più lezioni di teoria contemporaneamente, ma in aule diverse). Per ciascuna lezione di teoria è necessario registrare inoltre gli argomenti affrontati e l’elenco degli iscritti presenti. Per le lezioni di guida, che sono invece impartite ai singoli iscritti, è necessario memorizzare l’automobile utilizzata e la durata (possono svolgersi più lezioni di guida contemporaneamente, ma ovviamente con automobili diverse). Le lezioni di guida devono essere pagate singolarmente. Il costo delle lezioni è riportato in un tariffario e dipende dalla durata e dalla fascia oraria in cui si svolge (es. lezione da 30 minuti, fascia oraria 17:00-19:00, prezzo 15€). Per ciascuna lezione di guida è necessario registrare se il pagamento è già avvenuto o meno. Svolgimento Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Matricola: ____________ Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Matricola: ____________ Esercizio 2 1) Si descrivano le strutture B-tree e B+-tree e si evidenziano le differenze esistenti. 2) E’ data la query: SELECT Matricola, AVG(Voto) FROM Esami WHERE Data BETWEEN ‘1/1/1998’ AND ‘31/12/2000’ AND Corso IN (5, 7, 8, 13, 18) GROUP BY Matricola sulla relazione: ESAMI(Matricola, Corso, Voto, Data, Docente) sulla quale sono costruiti due indici: uno unclustered su Matricola e uno clustered su Corso. Si determinino il numero di foglie dei due indici, la selettività dei predicati e il miglior piano di accesso per la risoluzione della query tenendo conto dei seguenti dati: NP = 2200, NT = 25000 NKCorso = 25, NKDocente = 20, NKMatricola = 5000 Data ∈ [1/1/1998, 31/12/2001], Voto ∈ [18,30] ∪ {33}, Matricola ∈ [1,5000] Len(Corso) = 8 byte, Len(Matricola) = 4 byte, Len(Voto) = 4 byte, Len(TID)= 4 byte, D = 1Kb, u = 0.69 Si ipotizzi di utilizzare l’algoritmo Sort-Merge a Z=3 vie per l’eventuale ordinamento del risultato. Svolgimento Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Matricola: ____________ Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Matricola: ____________ Esercizio 3 Dato il seguente schema relazionale: DESTINAZIONE( codDestinazione, nomeDestinazione ) VIAGGIO ( codViaggio, nome, codDestinazione: DESTINAZIONE, descrizione, numeroGiorni, tipoViaggio ) 1. Scrivere l’espressione di algebra relazionale che visualizza le destinazioni (codDestinazione, nomeDestinazione) per le quali non sono previsti viaggi di durata inferiore a 15 giorni. 2. Scrivere la query SQL che visualizza, per ciascuna destinazione, il numero di viaggi distinti previsti (codDestinazione, nomeDestinazione, numeroViaggi) 3. Scrivere la query SQL che seleziona il viaggio di tipo “Avventura” che ha la durata minima (codViaggio, nome, descrizione, numeroGiorni). 4. Scrivere la query SQL che visualizza la tipologia di viaggi (tipoViaggio) per la quale sono previsti meno viaggi. Svolgimento Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Matricola: ____________