cerca
Basi di Dati esercizio missioni
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.EsBDDMissioni History

Hide minor edits - Show changes to markup

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

 :: Basi di dati - Esercizio ::
Changed lines 63-64 from:
to:
Added line 4:
Added line 7:
Added lines 57-62:
Changed lines 32-54 from:

ΠCodice,DataPartenzaDataPartenza >=1/1/2002 ^ DataPartenza<=31/12/2002MISSIONE)

to:

M2002:=ΠCodice,DataPartenzaDataPartenza >=1/1/2002 ^ DataPartenza<=31/12/2002MISSIONE)

ora join tra M2002 e PARTECIPA per sapere chi ha partecipato in quale ruolo nelle missioni iniziate nel 2002

P:=ΠCodiceMissione,CodiceAgente,Ruolo(PARTECIPA |X|CodiceMissione=CodiceM2002)

ora seguo la procedura per trovare gli ALMENO 2.
faccio 2 copie della tabella P e poi join con condizioni : A1 =A2,R1=R2 ma M1≠M2 cioè stesso agente con stesso ruolo ma in missioni diverse

P1:=ρM1,A1,R1 <- CodiceMissine, CodiceAgente, Ruolo(p)

P2:=ρM2,A2,R2 <- CodiceMissine, CodiceAgente, Ruolo(p)

SOLUZIONE:=ΠCodiceAgente(P1 |X|M1≠M2 ^ A1=A2 ^ R1=R2 P2)

Added lines 1-32:

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


Query: Missioni


MISSIONE (Codice, Città, DataPartenza, Scopo, Durata)
AGENTE (Codice,Nomr, Cognome, Specializzazione)
PARTECIPA (CodiceMissione, CodiceAgente, Ruolo)


1. Determinare il codice delle missioni che hannno la minima durata

Creo la tabella DUR che ha come colonne il codice mmissione e la rispettivadurata

DUR:=ΠCodice, DataPartenza(MISSIONE)

ora applico ilmetodo per trovare il minimo assoluto

SOLUZIONE:=ΠCodice(DUR) - ΠCodice (DUR |x|Durata>d (ρ c,d <- Codice, Durata(DUR))

2. Determinare il codice degli agenti che hanno partecipato con lo stesso ruolo ad almeno 2 missioni iniziate nel 2002

creo la tabella M2002 che contiene le tabelle codice e data partenza prese dalla tabella missione e pongo le mie codizioni

ΠCodice,DataPartenzaDataPartenza >=1/1/2002 ^ DataPartenza<=31/12/2002MISSIONE)