ESAME DI LABORATORIO DI BASI DI DATI 02/07/2010 Compito C

Transcript

ESAME DI LABORATORIO DI BASI DI DATI 02/07/2010 Compito C
ESAME DI LABORATORIO DI BASI DI DATI
02/07/2010
Compito C
Esercizio 1. Si consideri il seguente schema relazionale relativo ad una porzione di
un ipotetico sistema di gestione del torneo di tennis Wimbledon 2010, attualmente
in corso nell’omonimo sobborgo londinese::
• tennista(nome, nazione, altezza, peso)
• partita(codice, vincitore, perdente), dove l’attributo codice e’ una stringa
alfanumerica univoca, che dipende dal livello del torneo (ottavi, quarti,
semifinali, finali) e dai nomi dei due atleti contendenti.
• set(partita,numero, punti1, punti2)
Si definisca uno script SQL per la generazione e la popolazione di uno schema
wimbledon2010 che implementa lo schema relazionale proposto. Tale script dovra’
essere composto da 3 parti principali:
(1) La prima, per cancellare schemi e tabelle omonime eventualmente presenti
nella base di dati.
(2) La seconda per generare lo schema definendo vincoli opportuni.
(3) La terza, per popolare opportunamente lo schema generato utilizzando i
dati reperibili sul testo allegato all’esame. In particolare, si inseriscano
tutti i dati relativi agli incontri dei quarti di finale femminili.
Esercizio 2. Si estenda lo script SQL creato al punto precedente al fine di eseguire
le seguenti interrogazioni:
(1) Determinare il numero di partite disputate a Wimbledon 2010 che vedono
coinvolti atleti di nazionalita’ russa.
(2) Determinare per ogni nazione, il numero di partite vinte da un tennista di
tale nazione.
(3) Elencare le nazioni eliminate ai quarti di finali di Wimbledon 2010, ovvero
le nazioni che vantano almeno un atleta qualificato ai quarti di finale, ma
nessun atleta qualificato alle semifinali.
(4) Elencare i giocatori che non hanno mai perso un confronto con un avversario
piu’ basso di statura.
(5) Trovare il nome del giocatore che ha vinto complessivamente piu’ set.
Esercizio 3. Si scriva un’applicazione Java che, caricando l’opportuno driver JDBC, si connette al DB di riferimento e:
• Determina gli atleti qualificati a partecipare alle semifinali dei singoli femminili.
• Stampa sul file semifinaliF.txt il risultato della query precedente.
1
2
ESAME DI LABORATORIO DI BASI DI DATI 02/07/2010
Esercizio 4. La classifica ATP e’ una classifica a punti dei giocatori di tennis
professionisti stilata dall’ATP (Association of Tennis Professionals). Si assuma che
il DB di riferimento disponga di una tabella per il mantenimento della suddetta
classifica ATP, all’interno dello schema ATP :
AT P.rankAT P (atleta, punti)
In base alle regole dell’ATP:
• i giocatori che si qualificano ai quarti di finale del torneo di Wimbledon
guadagnano 360 punti ATP,
• i gicatori che si qualificano alle semifinali del torneo di Wimbledon guadagnano 720 punti ATP,
• i gicatori che si qualificano alle finali del torneo di Wimbledon guadagnano
1200 punti ATP,
• i vincitori del torneo di Wimbledon guadagnano 2000 punti.
Si definisca un trigger per aggiornare la classifica ATP in base ai risultati del torneo
di Wimbledon 2010.