ESAME DB 31/01/2006
Prof. Giovanni Giuffrida
PRIMO MODULO (DB1)
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)
======== BUON LAVORO ========
ALGEBRA RELAZIONALE
[3 punti per ogni espressione data] La semijoin delle relazioni R ed S, scritta come R
S è l’insieme di
tuple t in R tale che esiste almeno una tupla in S che assume gli stessi valori di t per gli attributi in comune tra
R ed S. Dare tre espressioni basate sui sei operatori di base dell’algebra relazionale che sono equivalenti ad R
S.
SQL
Viene dato il seguente schema inerente un database di articoli di una rivista settimanale. Ogni articolo è
identificato da una chiave univoca (idArticolo) e viene pubblicato su un certo numero della rivista
(numRivista). Il significato delle relazioni è ovvio. Ove possibile utilizzate delle Viste.
Articolo( idArticolo, numRivista, idAutore, titolo);
Autore( idAutore, nome, cognome);
Citazione( idArticolo, numRivista, idArticoloCitato, numRivistaCitata);
PosParole( idParola, idArticolo, numRivista, posizione);
Parole( idParola, descParola);
Rivista( numRivista, data, copieDistribuite);
Scrivere le seguenti query in SQL:
 [5 punti] Tra tutti gli articoli pubblicati nel 2005, indicare tutte le parole utilizzate ed il numero di
articoli che contengono ogni parola. Ordinare l’output da quelle più frequenti (i.e., che appaiono in
più articoli) a quelle meno frequenti.
 [5 punti] Elencare gli autori citati almeno 10 volte (i.e., esistono almeno 10 articoli di altri giornalisti
che citano un articolo di quell’autore)
 [6 punti] Elencare gli articoli (titolo e autore) che contengono entrambe le parole “Politica” e
“Finanza” (note bene: entrambe le parole devono essere contenute nel testo dell’articolo)
 [7 punti] Elencare per ogni articolo dell’autore Mario Rossi l’ultima parola dell’articolo.