Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2019-2020
Proff. Cappiello, Plebani, Salnitri, Vitali
TEMA B
Concettuale
1- Vi è stata commissionata la progettazione della base di dati di un servizio che gestisce
inserzioni per gli affitti di alloggi.
Gli utenti del servizio sono caratterizzati da codice fiscale, nome e cognome, e si distinguono in
utenti Host (per mettere in affitto un proprio alloggio) o Guest (per affittare gli alloggi). Per gli
utenti Host è obbligatorio specificare una partita iva e un recapito telefonico, mentre agli utenti
Guest viene richiesto un indirizzo email.
Gli alloggi messi in affitto dagli Host sono identificati con un codice e caratterizzati dal nome,
dalla posizione (indirizzo, numero civico e CAP), dal numero di persone ospitabili e dal prezzo
per notte. 3,75Le prenotazioni coinvolgono un singolo utente Guest e sono caratterizzate da un
codice univoco per Guest, dalle date di partenza e arrivo, e dall’alloggio selezionato.
Utilizzo.NomePista à Pista.Nome
Utilizzo.(CodAereo, MarcaAereo) à Aereo.(Codice, Marca)
Aereo.(NomeCompagnia) à Compagnia.Nome
Riparazione.(CodAereo, MarcaAereo) à Aereo.(Codice, Marca)
Riparazione.CodHangar à Hangar.Codice
SQL
Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative
alle lezioni a distanza tenute nel corrente anno scolastico in una scuola superiore di Milano.
a) Trovare il professore che ha tenuto lezioni di storia e di geografia ma non ha mai tenuto lezioni
più lunghe di due ore
SELECT IDProf
FROM Lezione
WHERE IDProf IN (SELECT IDProf
FROM Lezione WHERE Materia = “Storia”)
AND IDProf IN (SELECT IDProf
FROM Lezione WHERE Materia = “Geografia”)
AND IDProf NOT IN (SELECT IDProf FROM Lezione WHERE NumeroOre > 2)
b) Trovare gli studenti che nel mese di marzo 2020 hanno seguito 40 ore lezioni di italiano tenute
da due professori diversi.
SELECT Studente
FROM Lezione JOIN Presenze ON Lezione.IDLezione=Presenze.IDLezione
WHERE Data BETWEEN 01/03/2020 AND 31/03/2020 AND Materia = “Italiano”
GROUP BY Studente
HAVING SUM(NumeroOre) >40 AND Count(DISTINCT IDProf) =2