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 markup

September 19, 2009, at 10:14 AM by MINCULPOP - uniformato layout intestazione
Deleted line 3:
Added lines 5-7:

 :: Basi di dati - Esercizio ::
Added line 16:
Added line 18:
Added lines 70-71:
Added lines 1-65:

(:title Basi di Dati esercizio rimborsi:) Torna alla pagina di Basi di Dati


Query: Rimborsi


FONDO( Codice, Importo, DataErogazione, Scadenza, MatrTitolare)
DIPENDENTE (Matricola, Nome, Cognome, Posizione)
PARTECIPA (MatrDipendente, CodFonfo)
'RIMBORSOSPESA (MatrDipendente, CodFondo, Data, Importo, Motivo)


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

RS:=ΠMatrDipendente, CodFondo, Data (RIMBORSOSPESA)

duplico la tabella

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

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

D:= RS - R

siccome voglio nome e cognome del dipendente faccio un join tra D e DIPENDENTE proiettando le 2 colonne interessate

RISULTATO:=ΠNome, Cognome(D |X| MatrDipendente=Matricola DIPENDENTE)

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

RS:= ΠMatrDipendente, Importo, Motivo (RIMBORSOSPESA)

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

R3000:= σ Importo>=3000 RS

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

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

RISULTATO:=(RS-RV)∩R3000