Abacus: traccia 2° prova maturità 2011 svolta

Di Marta Ferrucci.

Riceviamo e pubblichiamo la traccia di Abacus sperimentale svolta da un utente. Grazie!

> Traccia Abacus sperimentale
Punto I
Punto 2
Punto 3
Punto 4

1. Visualizzare l'elenco di tutti gli esemplari di fauna suddivisi per specie presenti nei vari parchi

SELECT P. idParco , P. Indirizzo , S. Specie , F. Fauna

FROM ParcoNaturale P JOIN EsemplariFauna E ON P. idParcoNaturale = E. idParcoNaturale

JOIN SpecieFauna S ON S. idSpecieFauna = E. idSpecieFauna

JOIN Fauna F ON S. idFauna = S. idFauna

WHERE E. DataMorte IS NOT NULL

GROUP BY P. idParco , P. Indirizzo , S. Specie , F. Fauna

2. Visualizzare tutti gli esemplari a rischio di estinzione

SELECT P. idParco , P. Indirizzo , S. Specie , F. Fauna , E. idEsemplare , E. NomeEsemplare

FROM ParcoNaturale P JOIN EsemplariFauna E ON P. idParcoNaturale = E. idParcoNaturale

JOIN SpecieFauna S ON S. idSpecieFauna = E. idSpecieFauna

JOIN Fauna F ON S. idFauna = S. idFauna

WHERE S. Estinzione = 1 and E. DataMorte IS NOT NULL

3. Calcolare e visualizzare il numero totale di nascite di un certo esemplare nell'arco di un anno di monitoraggio

(Esempio per scoiattoli nell'anno 2010)

SELECT S. Specie , F. Fauna , COUNT(*) AS TOT_NASCITE

FROM EsemplariFauna E JOIN SpecieFauna S ON S. idSpecieFauna = E. idSpecieFauna

JOIN Fauna F ON S. idFauna = S. idFauna

WHERE YEAR(E. DataNascita) = '2010' AND S. Specie = 'Scoiattolo'

GROUP BY S. Specie , F. Fauna

4. Calcolare e visualizzare il numero totale di diverse specie di arbusti presenti nei vari parchi della regione

SELECT P. idParco , P. Indirizzo , S. Specie , COUNT(*) AS TOT_ARBUSTI

FROM ParcoNaturale P JOIN EsemplariFlora E ON P. idParcoNaturale = E. idParcoNaturale

JOIN SpecieFlora S ON S. idSpecieFlora = E. idSpecieFlora

JOIN Flora F ON S. idFlora = S. idFlora

WHERE F. OridneAppartenenza='Arbusto'

GROUP BY P. idParco , P. Indirizzo , S. Specie

5. Visualizzare quante specie diverse di pino sono presenti in ciascun parco

SELECT P. idParco , P. Indirizzo , S. Specie , COUNT(*) AS TOT_PINI_DISTINTI

FROM ParcoNaturale P JOIN EsemplariFlora E ON P. idParcoNaturale = E. idParcoNaturale

JOIN SpecieFlora S ON S.

idSpecieFlora = E. idSpecieFlora

JOIN Flora F ON S. idFlora = S. idFlora

WHERE S. Specie ='Pino'

GROUP BY P. idParco , P. Indirizzo , S. Specie , E. SpecieFlora