svolgimento delle query

annuncio pubblicitario
Te 2011 – modello logico
REGIONE (codregione, nomeregione)
PARCO (codparco, nomeparco, indirizzo, sede, codregione)
ANIMALE (codanimale, annonascita, sesso, anzianita, statosalute, codparco, codspeciea)
SPECIEA (codspeciea, nomespeciea, rischio, codordine)
ORDINE (codordine, nomeordine)
PIANTA (codpianta, nomepianta, fioritura, caratteristiche, codspeciep)
RACCOGLIEDATI (codpianta, codparco )
------------ ----------SPECIEP (codspeciep, nomespeciep, codtipologia)
TIPOLOGIA (codtipologia, nometipologia)
Query richieste
1) Visualizzare l’elenco di tutti gli esemplari di fauna, suddivisi per specie, presenti nei vari
parchi.
In questa query ho interpretato il termine "esemplare" come singolo esemplare
Select codanimale, nomespeciea, nomeparco from parco, animale, speciea where parco.codparco =
animale.codparco and animale.codspeciea = speciea.codspeciea order by nomespeciea, nomeparco
2) Visualizzare tutti gli esemplari a rischio di estinzione.
In questa query ho interpretato il termine "esemplare" come singolo esemplare
Select codanimale, nomespeciea, rischio from animale, speciea where animale.codspeciea =
speciea.codspeciea and rischio >1
3) Calcolare e visualizzare il numero di nascite di un certo esemplare nell’arco di un anno di
monitoraggio.
In questa query ho interpretato il termine "esemplare" come nome di una specie e non come singolo
esemplare
Select count(*) as numero_nascite from animale, speciea where animale.codspeciea =
speciea.codspeciea and annonascita = … and nomespeciea = …
4) Calcolare e visualizzare il numero totale di diverse specie di arbusti presenti nei vari parchi
della regione.
Select count(*) as numero_totale_specie_arbusti from speciep, tipologia where speciep.codtipologia
= tipologia.codtipologia and nometipologia = “arbusto”
5) Visualizzare quante specie diverse di pino sono presenti in ciascun parco.
Select nomeparco, count(*) as numero_specie_pino from parco, pianta, raccogliedati, speciep where
parco.codparco =raccogliedati.codparco and raccogliedati.codpianta= pianta.codpianta and
pianta.codspeciep = speciep.codspeciep and nomespeciep
= “pino” group by codparco, nomeparco
6) Calcolare il numero medio dei cuccioli di ciascuna specie presenti in tutti i parchi della
regione.
Ho interpretato questa query come “il numero medio di cuccioli tra tutte le specie”. Ad esempio: se
ci sono 10 cuccioli
di Lupo, 5 cuccioli di Volpe, 6 cuccioli di Orso la media risulta essere (10+5+6)/3=7
create table TEMP
(Select count(*) as cuccioli, nomespeciea from animale, speciea where animale.codspeciea =
speciea.codspeciea and anzianita = "C" group by nomespeciea)
select avg(cuccioli) as numero_medio_cuccioli from TEMP
7) Visualizzare l’esemplare più anziano di ogni specie presente in un determinato parco.
Create table VECCHIO
select min(annonascita) as minimo, speciea.codspeciea, nomespeciea from animale, parco, speciea
where animale.codspeciea = speciea.codspeciea and animale.codparco = parco.codparco and
nomeparco =… group by speciea.codspeciea, nomespeciea
Select codanimale, nomespeciea from animale, parco, vecchio where animale.codspeciea =
vecchio.codspeciea and animale.codparco=parco.codparco and annonascita = minimo and
nomeparco = …
Scarica