Uni.EsBDDMissioni History

Show minor edits - Show changes to markup

November 08, 2007, at 04:20 PM by baby -
Added line 4:
Added line 7:
Added lines 57-62:
November 08, 2007, at 04:19 PM by baby -
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)

November 08, 2007, at 04:08 PM by baby -
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)