Uni.EsBDDRimborso History
Hide minor edits - Show changes to output
Deleted line 3:
Added lines 5-7:
%center bgcolor=#ffe4c4 border='2px solid #cccccc' font-size=14pt padding=5px define=titolo% %titolo%''':: Basi di dati - Esercizio ::'''
Added line 16:
Added line 18:
Added lines 70-71:
---- [[Torna alla pagina di Basi di Dati->Basi di Dati]]
Added lines 1-65:
(:title Basi di Dati esercizio rimborsi:) [[Torna alla pagina di Basi di Dati->Basi di Dati]] ----
%center bgcolor=#fff0f5 border='1px solid #cccccc' font-size=12pt padding=3px define=soluzione% %center%%bgcolor=#d9e4f2 font-size=11pt padding=4px padding-left=50px padding-right=50px%Query: Rimborsi
----
'''FONDO'''( Codice, Importo, DataErogazione, Scadenza, MatrTitolare)\\ '''DIPENDENTE''' (Matricola, Nome, Cognome, Posizione)\\ '''PARTECIPA''' (MatrDipendente, CodFonfo)\\ ''''RIMBORSOSPESA '''(MatrDipendente, CodFondo, Data, Importo, Motivo) ---- !!%red%'''1:'''Determinare per ciascun fondo, il nome ed il cognome dei dipendenti che hanno chiesto l'ultimo rimborso spesa''
''Della tabella RIMBORSOSPESA proietto solo le colonne che mi servono
%soluzione%RS:=Π'_MatrDipendente, CodFondo, Data_' (RIMBORSOSPESA)
''duplico la tabella''
%soluzione%RS1:=ρ '_m,c,d, <- MatrDipendente, CodFondo, Data_'(RS)
''ora faccio il join con RS per trovare le tuple che hanno la data + lontana per quanto riguarfìda lo stesso codice fondo''
%soluzione%R:=Π'_MatrDipendente, CodFondo, Data_'(RS1 |X|'_CodFondo=Codice ^ data<d_' RS)
''dal totale tolgo le date + lontane e trovo la data odierna o comunque la più recente''
%soluzione%D:= RS - R
''siccome voglio nome e cognome del dipendente faccio un join tra D e DIPENDENTE proiettando le 2 colonne interessate''
%soluzione%RISULTATO:=Π'_Nome, Cognome_'(D |X| '_MatrDipendente=Matricola_' DIPENDENTE)
!!%red%'''2:'''Determinare la matricola dei dipendenti che hanno chiesto un rimborso spesa > 3000 euro e che non hanno mai chiesto un rimborso con motivazione viaggio aereo
''Proietto le colonne che mi servono''
%soluzione%RS:= Π'_MatrDipendente, Importo, Motivo_' (RIMBORSOSPESA)
''da questa tabella seleziono le tuple che nella casella importo hanno un valore > 3000 euro''
%soluzione%R3000:= σ '_Importo>=3000_' RS
''sempre da quella tabella trovo le tuple che nella casella motivo hanno scritto viaggio aereo''
%soluzione%RV:= σ '_motivo='viaggio aereo'_'RS
''ora dal totale dil rimborso spese tolgo quelle che hanno come motivazione viaggio aereo. siccome voglio i rimborsi > di 3000 e che non sono viaggio aereo faccio l'inersezione''
%soluzione%RISULTATO:=(RS-RV)∩R3000
|