Uni.EsBDDCalendari History
Hide minor edits - Show changes to output
December 11, 2007, at 02:31 PM
by
- 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:=ρ'_c,p,cp <- Codice,Prezzo,CodiceProduttore_' (DT)
''individuo i calendari che costano di meno''
%soluzione%MIN:=Π'_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:= Π'_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:=Π'_Codice_' (σ '_Anno=2003_'(CALENDARIO))
''Poi trovo tutti i calendari che Sferrante non ha fatto''
%soluzione%NOSFERR:=Π'_CodiceCalendario_' (σ '_NomeFotografo≠'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:=Π'_Codice_' (ANNO2003) - Π'_Codice_' (NS)
----
[[Torna alla pagina di Basi di Dati->Basi di Dati]]
[[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:=ρ'_c,p,cp <- Codice,Prezzo,CodiceProduttore_' (DT)
''individuo i calendari che costano di meno''
%soluzione%MIN:=Π'_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:= Π'_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:=Π'_Codice_' (σ '_Anno=2003_'(CALENDARIO))
''Poi trovo tutti i calendari che Sferrante non ha fatto''
%soluzione%NOSFERR:=Π'_CodiceCalendario_' (σ '_NomeFotografo≠'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:=Π'_Codice_' (ANNO2003) - Π'_Codice_' (NS)
----
[[Torna alla pagina di Basi di Dati->Basi di Dati]]