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 = …