ESAME DB 13/06/2005 Prof. Giovanni Giuffrida PRIMO MODULO (DB1) Per ogni esercizio è indicato un punteggio massimo. Il punteggio massimo è dato se l’esercizio è privo di errori. NON DIMENTICATE IL NOME E LA MATRICOLA Nome ________________________________________ Matricola: ___________________ INDICATE COSA DOVETE REGISTRARE DB 9cfu DB1 6cfu DB2 6cfu Altro: __________ Punteggio finale (questa parte verrà riempita dal docente) 1.1 a) b) 1.2 a) b) c) d) e) f) g) h) i) ======== BUON LAVORO ======== 1.1 SQL Dato il seguente schema relazionale per modellare un torneo di calcio: giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Il significato delle tabelle è generalmente intuitivo. Il campo id_sq_casa indica l’id della squadra che gioca in casa, mentre id_sq_ospite è quello della squadra ospite (fuori casa). Il campo ruolo nella tabella giocatore indica il ruolo del giocatore: ‘portiere’, ‘terzino’, ‘attaccante’, ecc. Il campo minuto indica il minuto di gioco della partita quando è stato segnato il gol. Scrivere le seguenti query in SQL. Riportare in output SOLO le colonne richieste e rispettare l’ordinamento richiesto. Cercate di trovare la soluzione più semplice per le query che scrivete, la semplicità viene premiata. a) [1 punto] Elenco giocatori (nome, cognome, età) del Milan ordinati per età crescente. b) [1 punto] Elenco partite (squadre e data) che si svolgeranno a Roma. c) [2 punti] Per il giorno ‘15/05/2005’, per ogni squadra mostrare l’elenco dei gol fatti indicando, per ogni gol, il giocatore che ha segnato il gol ed il minuto di gioco. d) [2 punti] Nome e Cognome dei centrocampisti che hanno segnato almeno un gol in tutto il campionato. e) [2 punti] Nome e Cognome degli attaccanti che non hanno segnato nessun gol in tutto il campionato. f) [3 punti] Nome, Cognome e Squadra di appartenenza del giocatore più giovane del campionato. Nota: Potrebbero essercene più di uno. g) [4 punti] Per ogni squadra indicare il nome ed il numero totale di gol segnati dall’inizio del campionato. h) [4 punti] Indicare le partite (squadre e data) che sono terminate al punteggio di 1 a 1. i) [4 punti] Usando una tecnica diversa da quella utilizzata nel punto h), indicare le partite (squadre e data) che sono terminate al punteggio di 0 a 0. 1.2 Algebra Relazionale a) [da -9 a +9 punti] Per ogni punto dell’esercizio precedente indicare se la query può essere tradotta in algebra relazionale. Indicare solo SI o NO cerchiando la risposta. NON dovete scrivere la query in A.R., ma solo indicare se è fattibile o meno. Avrete 1 punto per ogni risposta corretta, -1 per ogni risposta sbagliata e 0 se non rispondete. Quindi, meglio non provare ad indovinare la risposta! a) b) c) d) e) f) g) h) i) SI SI SI SI SI SI SI SI SI NO NO NO NO NO NO NO NO NO b) Per ogni query per cui avete indicato SI nel punto precedente, guadagnate 2 punti se la scrivete correttamente in algebra relazionale. =========== FINE MODULO UNO (DB1) =============