cerca
Basi di Dati esercizio rimborsi
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.EsBDDRimborso History

Hide minor edits - Show changes to output

September 19, 2009, at 10:14 AM by MINCULPOP - uniformato layout intestazione
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:=&#961; '_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:=&#928;'_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:=&#928;'_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:= &#928;'_MatrDipendente, Importo, Motivo_' (RIMBORSOSPESA)


''da questa tabella seleziono le tuple che nella casella importo hanno un valore > 3000 euro''

%soluzione%R3000:= &#963; '_Importo>=3000_' RS


''sempre da quella tabella trovo le tuple che nella casella motivo hanno scritto viaggio aereo''


%soluzione%RV:= &#963; '_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)&#8745;R3000