Artròpodes: classes, ordres, famílies. Pràctica AJAX

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció: els artròpodes

483324871 17ce215005 o.250a.jpg

De la mateixa manera que comunitats autònomes, províncies i municipis tenen una estructura jeràrquica amb relacions 1:M, el mateix podem fer per al regne animal i vegetal, on la classificació de les espècies segueix un ordre jeràrquic. De la ciència que estudia la classificació de les espècies se'n diu taxonomia:

Concretament nosaltres ens centrarem en una base de dades sobre artròpodes (que incou bàsicament els insectes, aranyes i miràpodes (centpeus, milpeus)). Per situar-nos direm que els artròpodes són invertebrats (no posseeixen una estructura òssia com ara mamífers, peixos,...), són animals (no són ni plantes ni fongs), i posseeixen cèl.lules amb nucli (a diferència d'altres éssers vius com les bactèries que tenen cèl.lules sense nucli).

La taxonomia és una ciència difícil, amb evolució constant i discussió viva entre científics, i que gràcies a nous mètodes com la genòmica evoluciona i evolucionarà molt. De forma simplificada podem dir que una espècie animal o vegetal pertany a un gènere, que alhora pertany a una família, que alhora pertany a un ordre, i que alhora pertany a un philum.

Per exemple, la papallona Apollo (Parnassius apollo), que viu al Pirineu, pertany al gènere Parnassius, a la família dels papiliònids (Papilionidae en llatí), ordre dels lepidòpters (Lepidoptera), classe insectes (Insecta) i filum artròpodes (Arthropoda).

Base de dades arthropoda

Pots descarregar-te la base de dades (mysql) dels artròpodes en aquest enllaç:

Crea una base de dades en el mysql que es digui arthropoda, i importa l'anterior base de dades.

Si vols familiaritzar-te amb la base de dades pots executar les següents sentències SQL:

select id_class, class, id_order, ordre, id_family, family from VTAXO;
select id_class, class, id_order, ordre, id_family, family from VTAXO V, BUG B where V.id_family=B.id_taxo;
select distinct id_class, class from VTAXO V, BUG B where V.id_family=B.id_taxo;
select distinct id_order, ordre from VTAXO V, BUG B where V.id_family=B.id_taxo and id_class=12;
select distinct id_family, family from VTAXO V, BUG B where V.id_family=B.id_taxo and id_order=258;
select id_bug, genere, especie from BUG where id_taxo=1487;
select B.id_bug, genere, especie, titol, nom_fitxer from BUG B, FOTO F where id_taxo=1487 and B.id_bug=F.id_bug and ordre=1;
select B.id_bug, genere, especie, titol, concat('http://joanqc.no-ip.biz/fotosarthropoda/pics400/',substr(nom_fitxer,1,2),'/',substr(nom_fitxer,3,2),'/',replace(nom_fitxer,'.JPG','_pic.JPG')) pic, concat('http://joanqc.no-ip.biz/fotosarthropoda/thumbnails/',substr(nom_fitxer,1,2),'/',substr(nom_fitxer,3,2),'/',replace(nom_fitxer,'.JPG','_th.JPG')) thumb from BUG B, FOTO F where id_taxo=1487 and B.id_bug=F.id_bug and ordre=1;

Resum de les consultes que necessitaràs

Llistar totes les classes d'artròpodes dels quals es disposa almenys un bitxo en la col.lecció:

select distinct id_class, class from VTAXO V, BUG B where V.id_family=B.id_taxo;

Donada una classe, llista tots els ordres dels quals es disposa un bitxo en la col.lecció:

select distinct id_order, ordre from VTAXO V, BUG B where V.id_family=B.id_taxo and id_class=12;

Donat un ordre, llista totes les famílies de les quals es disposa un bitxo en la col.lecció:

select distinct id_family, family from VTAXO V, BUG B where V.id_family=B.id_taxo and id_order=258;

Donada una família, llista de tots els bitxos de la col.lecció amb la primera foto (versió thumbnail i 400 px):

select B.id_bug, genere, especie, titol, concat('http://joanqc.no-ip.biz/fotosarthropoda/pics400/',substr(nom_fitxer,1,2),'/',substr(nom_fitxer,3,2),'/',replace(nom_fitxer,'.JPG','_pic.JPG')) pic, concat('http://joanqc.no-ip.biz/fotosarthropoda/thumbnails/',substr(nom_fitxer,1,2),'/',substr(nom_fitxer,3,2),'/',replace(nom_fitxer,'.JPG','_th.JPG')) thumb from BUG B, FOTO F where id_taxo=1487 and B.id_bug=F.id_bug and ordre=1;

NOTA: la base de dades que aquí es mostra és un exemple de base de dades jeràrquica. Pots veure'n un altre exemple aclaridor en el següent enllaç:

Desenvolupament

La pràctica consisteix en fer una navegació AJAX de les classes, famílies i ordres dels insectes, tal com preveu les consultes SQL que se't proporcionen. A classe s'ha comentat tres versions d'aquest problema, i que tots ells tenen pros i contres quant als aspectes de usabilitat. Se't proporciona el codi de les tres versions per tal de què el puguis estudiar, però s'espera de què l'alumne faci la seva pròpia solució particular.


Feina per l'alumne

  1. Fes la teva solució pròpia (tot i que pots consultar el codi que se't proporciona)
  2. Recorda dissenyar aquesta mini-aplicació amb uns estàndards correctes i moderns, incorporant un fitxer CSS.
  3. quan cliquis sobre la miniatura, per defecte enllaça amb la foto de 400px. Pots enllaçar a una pàgina ben formatada on incloguis la foto grossa i altra informació d'interès que es troba a la base de dades (BUG.notes, FOTO.notes).
  4. Utilitzar crides POST en comptes de crides GET
	xmlhttp.open("POST","cercar_bitxos.php",true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.send("id_familia="+id_familia);

i en el fitxer cercar_bitxos.php, recordar ficar:

$id_familia = $_POST["id_familia"];

Ara ja no funcionarà la url:

Entrega

Els alumnes entregaran al Schoology tots els fitxers generats (fitxers html). S'empaquetaran tots aquests fitxers i es pujaran al Schoology dins del termini d'entrega de la pràctica.

Recorda la normativa per entregar les pràctiques al Schoology: ASIX-M10-UF2#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Schoology

Solució

Fitxer:Artropodes.zip


creat per Joan Quintana Compte, febrer 2013, febrer 2018

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines