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) =============