Query 1

Elencare le vie di tutti i condomini

$PROJ_{via}(condominio)$

select distinct via

from condominio

Query 2

Elencare tutte le spese di condominio ordinate per condominio e per importo (rifCond, importo, fattura)

select rifCond, importo, fattura

from spesa

where tipo = 'condominio'

order by rifCond, importo

Query 3

Elencare le spese in cui è coinvolto l’interno “2” scala “B” del condominio “Alighieri” (codice importo, tipo)

$PROJ_{codice, tipo, importo}(SEL_{(rifCond = 'Alighieri' \land tipo = 'condominio') \lor (rifScala = 'B' \land rifCond = 'Alighieri' \land tipo = 'scala')}(spesa)) \cup PROJ_{codice, tipo, importo}(spesa JOIN_{codice = spesa} (SEL_{condominio = 'Alighieri' \land scala = 'B' \land interno = '2'}(rif\_appartamento)))$

select codice, tipo, importo

from spesa

where (rifCond = 'Alighieri' and tipo = 'condominio')

or (rifScala = 'B' and rifCond = 'Alighieri' and tipo = 'scala')

union all

select codice, tipo, importo

from spesa join rif_appartamento on spesa.codice = rif_appartamento.spesa