cerca
Basi di Dati esercizio missioni
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Basi di Dati esercizio missioni

Torna alla pagina di Basi di Dati


 :: Basi di dati - Esercizio ::

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

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)


Torna alla pagina di Basi di Dati