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.