Esame scritto di: Fondamenti di Informatica

Corso di Basi di Dati I – Appello del 10 Febbraio 2012
Traccia A – Tempo a disposizione: 2 ore
In questi giorni siamo alla presenza di un maltempo che non si verificava da anni e di una disorganizzazione pazzesca a
tutti i livelli. Per tramandare ai posteri tutto ciò, come monito per le future generazioni, si è deciso di costruire un
sistema informativo il cui database di supporto dovrà avere la seguente struttura:
CITTA’ (CodiceC, Nome, NumAbitanti, Regione)
RISIEDE (CodiceC, CodiceP, AnnoInizioResidenza)
PERSONA (CodiceP, Nome, Età)
SUBISCE (CodiceP, CodiceD, Data)
DANNO (CodiceD, Nome, Valore)
Nel sistema informativo che si vuole costruire si vogliono implementare le seguenti interrogazioni:
1. Selezionare il nome delle città con più di 300.000 abitanti in cui risiedono persone di età superiore ai 95 anni
che hanno subito danni del valore di 100.000 euro e in cui non risiedono persone di età minore di 4 anni che
hanno subito danni del valore di 20.000 euro.
2. Selezionare il nome delle città con più di 400.000 abitanti in cui risiedono persone che hanno subito tutti i
danni subiti da una persona di età pari a 30 anni nel giorno 4 Febbraio 2012.
3. Selezionare il nome delle città laziali la cui media sul valore dei danni subiti dai propri abitanti è superiore alla
media del valore dei danni subiti dalle persone con età maggiore di 80 anni.
4. Selezionare i nomi delle città abbruzzesi in cui risiedono coppie di persone che hanno subito nella stessa data
un danno dello stesso valore e, al contempo, non hanno mai risieduto in una città trentina.
5. Selezionare i nomi delle città in cui risiedono persone che hanno subito danni il cui valore è minore della
media dei valori dei danni subiti da persone che risiedono da almeno tre anni in una città ligure.
Scrivere tali interrogazioni in Algebra Relazionale e in SQL, ove possibile. Scrivere, inoltre, in SQL la seguente
interrogazione:
6. Creare una vista delle “persone super”, ovvero quelle persone che non hanno subito mai danni e risiedono in
una città in cui almeno 1000 persone hanno subito danni.