Uni.EsBDDCalendari History

Show minor edits - Show changes to output

December 11, 2007, at 02:31 PM by baby -
Added lines 1-69:
(:title Basi di Dati esercizio Calendari:)
[[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: Calendari


'''CALENDARIO''' (Codice, Prezzo, Tipo, AnnoCalendario, CodiceProduttore)\\
'''PRODUTTORE''' (Codice,Nome, Indirizzo)\\
'''FOTOGRAFIA''' (Numero, NomeFotografo, MeseCalendario, CodiceCalendario) \\


!!%red%1.Determinare per ogni produttore il codice calendario di tipo "da tavolo" di prezzo maggiore%black%

''Proietto le colonne Codice,Prezzo,CodiceProduttore selezionando solo le tuple che riguardano i calendari di tipo "da tavolo"''


%soluzione%DT:=Π'_Codice,Prezzo,CodiceProduttore_' (σ '_Tipo = 'da tavolo'_'(CALENDARIO))


''Ne faccio una copia''


%soluzione%DT2:=&#961;'_c,p,cp <- Codice,Prezzo,CodiceProduttore_' (DT)


''individuo i calendari che costano di meno''


%soluzione%MIN:=&#928;'_CodiceProduttore, Codice_'(DT |X|'_ CodiceProduttore= cp ^ prezzo<p_' DT2)


''ora dal totale tolgo quelli che costano meno e trovo quello che costa di pił''


%soluzione%RISULTATO:= &#928;'_CodiceProduttore, Codice_' (DT2) - MIN



!!%red%2.Determiinare il codice dei calendari del 2003 che contengono solo foto scattate da Sferrnte%black%


''innanzitutto trovo i calendari del 2003''


%soluzione%ANNO2003:=&#928;'_Codice_' (&#963; '_Anno=2003_'(CALENDARIO))


''Poi trovo tutti i calendari che Sferrante non ha fatto''


%soluzione%NOSFERR:=&#928;'_CodiceCalendario_' (&#963; '_NomeFotografo&#8800;'Sferrante'_'(FOTOGRAFIA))


''ora faccio il join tra i calendari del 2003 e NOSFERR per trovare i calendari 2003 non fatti da lui''


%soluzione%NS:=(NOSFERR |X| '_Codice=CodiceCalendario_' ANNO2003)


''Dal totale dei calendari 2003 togliamo quelli non di Sferrante''


%soluzione%RISULTATO:=&#928;'_Codice_' (ANNO2003) - &#928;'_Codice_' (NS)

----
[[Torna alla pagina di Basi di Dati->Basi di Dati]]