Universita` degli Studi di Catania Facolta` di Ingegneria Basi di Dati

Universita’ degli Studi di Catania
Facolta’ di Ingegneria
Basi di Dati
Esercitazione 09 Dicembre 2010
Si consideri il seguente schema di una base di dati relativa ad ASSICURAZIONI:
PERSONA(ID, NOME,COGNOME,ANNONASCITA, INDIRIZZO)ipotizzando
che al massimo possono esserci due persone con lo stesso nome e cognome
MACCHINA(TARGA, MODELLO, ANNO) con anno > 1950
INCIDENTE(NUMERO, DATA, LUOGO)
PROPRIETARI(ID-PERSONA,TARGA) con i seguenti riferimenti:
ID-PERSONA → PERSONA(ID) e TARGA → MACCHINA(TARGA) e
con VINCOLO CHE LA TARGA DELLA MACCHINA INIZI PER ’CT’
PARTECIPA(ID-PERSONA,MACCHINA,NUMERO-INC,COSTO) con i seguenti
riferimenti:
ID-PERSONA → PERSONA(ID) e MACCHINA → MACCHINA(TARGA)
e NUMERO-INC → INCIDENTE(NUMERO)
1. Creare nel DBMS da voi scelto lo schema della base di dati rispettando tutti i vincoli di integrita’ referenziale e successivamente
caricare il file /Users/Guest/$NomeDB$.sql (scaricato con ssh con
username: guest pwd: guest)
2. Trovare il costo massimo di un incidente avvenuto nel 2008
3. Trovare il costo degli incidenti di tutte le persone con ID < 5 e
NUMERO-INC che inizi con AAA
4. Trovare il numero totale di persone proprietarie di auto coinvolte
in incidente nel 2007
5. Trovare il numero di incidenti nelle quali le macchine coinvolte
appartengono a Luca Rossi
6. Cancellare le macchine appartenenti a Giacomo Verdi (N.B. Ogni
persona puo’ avere piu’ di un auto)
7. Creare una vista degli incidenti avvenuti a Messina da tutte auto
con targe CT
8. Creare un trigger che ad ogni inserimento nella tabella PARTECIPA controlla la persona e va ad aggiornare in un nuova tabella
COSTI PERSONE(ID-PERSONA, COSTO-TOTALE-INC) il costo
2
appena inserito. N.B. Tale trigger deve essere attivato solo se
COSTO >0
9. Tramite query nidificate trovate tutti gli incidenti che sono avvenuti
nella stessa citta’ e nella stessa data.
10. Scrivere in Algebra Relazionale con Alberi Logici e Calcolo Relazionale con vincoli di dominio le espressioni (2), (3) e (4) senza
considerare operatori aggregati. Ad es. per la (2) Trovate tutti i
costi degli incidenti nel 2008...