PROVA SCRITTA 25 Luglio 2006

PROVA SCRITTA 28 Luglio 2008
COGNOME
NOME
MATRICOLA
Esercizio di sbarramento
Rispondere ai seguenti test. Per ogni test, solo una soluzione e’ corretta L’esercizio si ritiene superato se si risponde correttamente
ad almeno 7 domande, di cui almeno una domanda per ogni gruppo di test.
Solo se l’esercizio viene superato, gli esercizi successivi verranno corretti e valutati.
GRUPPO 1: domande generali
Domanda 1
Per creare una vista che contiene un sottoinsieme dei dati contenuti in una tabella già esistente nella vostra base di dati utilizzate:
a) Un comando del DML.
b) Un comando del DDL.
c) Un comando del SDL.
Domanda 2
Nel modello relazionale, per una relazione R:
a) Esiste sempre almeno una chiave esterna.
b) Esiste sempre esattamente una chiave primaria.
c) Esistono sempre almeno due chiavi.
Domanda 3
Si consideri una relazione R con schema (A,B,C,D0) in cui il dominio di tutti gli attributi è quello degli interi. Quali delle seguenti
istanze NON è ammissibile:
a) R = {(1, 1, 3, ?), (1, 2, 3, 0), (5, 1, 0, 0), (1, 5, 2, 1)}
b) R = {(1, 1, 3, ?), (1, 2, 3, 0), (1, 3, ?, ?), (3, 1, 5, 5)}
c) R = {(1, 1, 3, ?), (1, 2, 3, 0), (1, 3, 4, 4), (2, 2, 2, 2)}
GRUPPO 2: linguaggi relazionali
Si consideri il seguente schema relazionale:
Domanda 1
Si consideri la seguente espressione in algebra relazionale (NJ indica il join naturale e JOIN indica il JOIN per
semplicita` di scrittura):
 matricola(Ricercatore) \  ricercatore(RicercaIn NJ (Amministra JOIN amministrativo = matricola ( livello = ‘D’ (Amministrativo))))
Questa espressione permette di determinare:
a) I ricercatori che lavorano in almeno un progetto amministrato da almeno una persona di livello D.
b) I ricercatori che non lavorano in progetti amministrati soltanto da persone di livello D.
c)
I ricercatori che non lavorano in progetti amministrati da almeno una persona di livello D.
Domanda 2
Si supponga di volere determinare gli amministrativi che lavorano in progetti in cui svolgono attivita` di ricerca non piu` di 5
ricercatori. Questa espressione:
a)
Non puo’ essere espressa in algebra relazionale ma puo’ essere espressa in calcolo relazionale
b) Non puo’ essere espressa ne’ in algebra ne’ in calcolo relazionale
c)
Puo’ essere espressa in algebra relazionale ed in calcolo relazionale
Domanda 3
Si consideri la seguente espressione del calcolo relazionale:
{ p : Uprogetto | p  Progetto   ( r ( t ( r  Ricercatore  t  RicercaIn  t.ricercatore = r.matricola 
p.codice = t.progetto  r.settore <> p.settore ))) }
La precedente espressione permette di determinare:
a) I progetti in cui lavorano solo ricercatori con settore uguale a quello del progetto.
b) I progetti in cui lavora almeno un ricercatore con settore diverso da quello del progetto.
c)
I progetti in cui lavorano solo ricercatori con settore diverso da quello del progetto.
GRUPPO 3: SQL
Si consideri nuovamente lo schema relazionale proposto per il Gruppo 2 di test.
Domanda 1
Quale tra i seguenti comandi SQL NON permette di determinare i progetti con fondi superiori a 100.000 Euro in cui lavorano il
maggior numero di ricercatori:
a) SELECT progetto
FROM RicercaIn JOIN Progetto ON progetto = codice
WHERE ammontareFondi > 100.000 AND
COUNT(ricercatore) >= ALL (SELECT COUNT(ricercatore)
FROM RicercaIn JOIN Progetto ON progetto = codice
WHERE ammontareFondi > 100.000
GROUP BY progetto);
b) SELECT progetto
FROM RicercaIn JOIN Progetto ON progetto = codice
WHERE ammontareFondi > 100.000
GROUP BY progetto
HAVING COUNT(ricercatore) >= ALL (SELECT COUNT(ricercatore)
FROM RicercaIn JOIN Progetto ON progetto = codice
WHERE ammontareFondi > 100.000
GROUP BY progetto);
c) SELECT codice
FROM Progetto P
WHERE ammontareFondi > 100.000 AND
(SELECT COUNT(ricercatore)
FROM RicercaIn
WHERE progetto = P.codice) > = ALL (SELECT COUNT(ricercatore)
FROM RicercaIn JOIN Progetto ON progetto = codice
WHERE ammontareFondi > 100.000
GROUP BY progetto);
Domanda 2
Si supponga di volere implementare il comportamento per cui, ogni volta che si cancella un progetto, si vogliono cancellare anche
le informazioni relative ai ricercatori e al personale amministrativo ad esso relativo. Questa operazione puo` essere semplificata
utilizzando:
a)
Una vista
b) Particolari clausole in comandi DDL
c)
Un’asserzione
Domanda 3
Si consideri il seguente comando:
SELECT P1.codice
FROM Progetto P1, Progetto P2
WHERE P1.ammontareFondi > P2.ammontareFondi;
Il comando precedente restituisce:
a)
b)
c)
d)
Il codice dei progetti con ammontare fondi superiore a quelli di tutti gli altri.
Il codice dei progetti per cui esiste almeno un altro progetto con ammontare fondi inferiore.
L’interrogazione e` sintatticamente errata.
Nessuna delle precedenti.
GRUPPO 4: comprensione di schemi ER e progettazione
Si risponda alle seguenti domande relative al seguente schema ER, relative ai restauri di libri antichi:
Domanda 1
Indicare quali tra le seguenti affermazioni meglio descrive l’associazione ‘restaurata’:
a) Ogni copia di libro puo` essere restaurata al piu` una volta. Ogni restauratore deve restaurare almeno una copia di
libro.
b) Ogni copia di libro puo` essere restaurata piu` volte, in date diverse. Ogni restauratore deve restaurare al piu` una copia di
libro.
c) Ogni copia di libro puo` essere restaurata piu` volte, in date diverse. Ogni restauratore deve restaurare almeno una copia di
libro.
d) Ogni copia di libro puo` essere restaurata al piu` una volta. Ogni restauratore deve restaurare al piu` una copia di libro.
Domanda 2
Quale tra le seguenti relazioni potrebbe rappresentare l’associazione ‘restaurata’ in uno schema relazionale equivalente allo
schema ER dato:
a)
b)
c)
d)
RESTAURATA(CodiceCopia, CodiceFiscale, DataInizio, DataFine0 )
RESTAURATA(CodiceCopia, CodiceFiscale, DataInizio, DataFine0 )
RESTAURATA(CodiceCopia, CodiceFiscale, DataInizio, DataFine)
L’associazione ‘Restaurata’ deve essere rappresentata con una chiave esterna.
Domanda 3
Si supponga di volere modellare il vincolo di integrita’ per cui lo stesso restauratore non puo` restaurare due copie di libro distinte
a partire dalla stessa data. Quale tra le seguenti dipendenze funzionali modella questo vincolo, rispetto alla relazione
RESTAURATA indicata come risposta alla domanda 2:
a) CodiceFiscale,DataInizio  CodiceCopia
b) CodiceCopia  DataInizio
c)
CodiceFiscale,CodiceCopia  DataInizio
Gruppo
Domanda
Gruppo 1
1.
2.
3.
Gruppo 2
1.
2.
3.
Gruppo 3
1.
2.
3.
Gruppo 4
1.
2.
3.
Risposta