Docstoc

Aprendiendo a usar el Sloan Digital Sky Survey _SDSS_ Tutorial de

Document Sample
Aprendiendo a usar el Sloan Digital Sky Survey _SDSS_ Tutorial de Powered By Docstoc
					Aprendiendo a usar el Sloan Digital Sky Survey
                   (SDSS)

                                   o
Tutorial de SQL: Buscando Informaci´n
            en el SkyServer

            e
           N´stor Espinoza (nsespino@uc.cl)

                  9 de julio de 2010
0.1.      Sobre el Sloan Digital Sky Survey (SDSS)
                                                                         n
    El Sloan Digital Sky Survey (SDSS) es un proyecto que nace el a˜o 2000,
el cual busca medir el corrimiento al rojo de objetos astron´micos (redshift)1
                                                               o
       e                    a                                              o
a trav´s de espectros e im´genes, el cual es realizado con un telescopio ´ptico
                      a
de 2,5 metros de di´metro en el observatorio Apache Point en Nuevo M´xico. e
                                     a                            a
El telescopio contiene una serie de c´maras CCD que toman im´genes en cinco
filtros (llamados u,g,r,i y z respectivamente), las cuales han obtenido datos de
  a
m´s de 2 millones de objetos aproximadamente y espectros de mas de 800,000
galaxias y 100,000 quasares. Hasta ahora, el proyecto ha cubierto aproximada-
                                          o
mente un cuarto del cielo en su exploraci´n.
                                                  e
Los datos del SLOAN son de libre acceso a trav´s de su servidor web, el Sky-
server 2 . Tanto las im´genes como los espectros de los objetos estan disponibles
                        a
para ser descargados, siempre y cuando su uso sea no comercial.
                                            o
El siguiente documento tiene como motivaci´n los proyectos del SDSS publicados
en su p´gina web3 los cuales han sido modificados para el habla hispana a trav´s
        a                                                                      e
         a
de la p´gina web de Bling Bling Universe (http://www.blingblinguniverse.cl),
                                              a
aunque el uso del mismo puede ser mucho m´s amplio.

        ´
Nota: Este es un tutorial paso a paso para aquellas personas que son nuevas al
                                                                   o
SQL. Si ya posees nociones sobre SQL y quieres una introducci´n mas profunda
                                                                    e
de como el SQL se aplica al SkyServer, ve el tutorial (en ingl´s) “Using SQL
with SkyServer”4 . Otra manera para aprender SQL es modificar y enviar consul-
tas (querys) que otra gente ya ha escrito. Para saltar directamente a modificar
                              ıficos, ve las que estan escritas en el siguiente link5 .
solicitudes escritas por cient´

   1 El corrimiento al rojo se refiere a “cu´nto se est´n moviendo los objetos de nosotros”,
                                           a          a
   u                                           ´
seg´ n nuestro sistema inercial en la Tierra. Esto posee componentes dadas por el Efec-
                          e                              o                  a
to Doppler, como tambi´n correspondientes a la expansi´n del universo. M´s informaci´n: o
http://www.blingblinguniverse.cl.
   2 http://cas.sdss.org/
   3 http://cas.sdss.org/dr7/en/proj/
   4 http://cas.sdss.org/dr6/en/help/docs/sql help.asp
   5 http://cas.sdss.org/dr6/en/help/docs/realquery.asp




                                            1
0.2.                 o
           Introducci´n
                                         ıa
    Al entrar al mundo de la astronom´ muchas preguntas pueden ser respondi-
                                     o                ı,
das si se tienen los datos correctos ´, por decirlo as´ los que uno quiere obtener.
                          o
La gran pregunta es, ¿c´mo obtener los datos correctos? O en otras palabras,
  o
¿c´mo puedo obtener los datos que yo quiero obtener?

    El SDSS posee millones de datos sobre muchos objetos, pero necesitamos, de
alguna manera, comunicarnos con el “lugar” en donde se encuentran esos datos
para que nos entregue todos los que necesitamos. Por ejemplo, supongamos que
                    o                   u     a
observamos una regi´n del cielo con alg´n cat´logo. Si nos interesa el objeto que
                          a           ıa             e
estamos observando, quiz´ nos gustar´ saber mas de ´l, por lo que podr´  ıamos ir
al SDSS y preguntarle “Quiero saber la magnitud y tener el espectro del objeto
                            o               e       ıa
que se encuentra en tal regi´n del cielo” y ´l deber´ devolvernos la magnitud
                                                                     o
y el espectro de el (los) objeto(s) que se encuentra(n) en esa regi´n del cielo
    e               ıamos que entregarle las coordenadas en “RA” y “DEC”).
(en ´ste caso, tendr´
El “lugar” al que debemos pedirle los datos es llamada la Base de Datos.

    La base de datos del SDSS tiene una forma propia para organizar sus datos
tal como nosotros tenemos nuestros cuadernos y libros ordenados para buscar
           o
informaci´n si es que la necesitamos. Si alguna vez queremos compartir materi-
                                                                        a
al de estudio, por ejemplo, simplemente recomendamos el libro y la p´gina del
mismo. Ahora bien, puede que una persona que use mucho un computador no
                                           o
necesite libros y tenga toda la informaci´n guardada en un archivo de texto,
                                                                      o
como puede que otras personas deseen guardar toda su informaci´n en CDs,
                                                           o
etc. Todas son distintas formas de organizar la informaci´n: El SDSS tiene una
propia. Por ejemplo, y como mencionamos, en el caso en el que las personas
                         o
deseen buscar informaci´n, tendremos distintas formas de hacerlo: Si tenemos
libros y cuadernos miraremos sus tapas e ´                           o
                                          ındices para observar los t´picos trata-
                                             o
dos en ellos, si queremos buscar la informaci´n en un computador, la buscamos
con el buscador integrado que tienen todos los sistemas operativos con palabras
                       o     a                                     a
clave y si la informaci´n est´ guardada en CDs miraremos las car´tulas de cada
                                                          o
uno de ellos para saber donde se encuentra la informaci´n que buscamos. Para
buscar en el SDSS (o como usaremos de ahora en adelante “para consultarle a
la base de datos del SDSS”) necesitamos un lenguaje que nos pueda comunicar
                                                        ´
con la base de datos, un lenguaje que ella entienda. Este lenguaje es llamado
el “Structured Query Languaje” (Lenguaje de Consulta6 Estructurado) o mejor
conocido como SQL.
   6 Una consulta (o “query”, en ingl´s) es algo as´ como un formulario que debemos llenar para
                                     e             ı
                                o
que se nos entregue la informaci´n que queremos. Cuando vamos a una biblioteca usualmente
el mediador entre nosotros y el bibliotecario es un papelito en el que indicamos el nombre del
                                     o
autor, el nombre del libro y la edici´n que queremos del libro. Pues bien, el mediador entre
nosotros y la base de datos son las consultas.




                                              2
0.3.     La estructura de una consulta
   Como las consultas que necesitamos hacerle a la base de datos son un poco
                                                            a           e
complicadas (dado que necesitamos, muchas veces, dar par´metros num´ricos
                                                                 u
como por ejemplo “quiero solo los datos que sean mayores a tal n´mero y a la
                    u                                                     ıfico
vez menores a tal n´mero”) el lenguaje tiene que ser lo mas simple y espec´
             ı                                                          e
posible. Y as´ es. Al hacer una consulta a la base datos del SDSS a trav´s del
                                    o
SQL, necesitamos darle la informaci´n correspondiente a tres preguntas:
     ¿Que queremos obtener?

     La base de datos necesita saber lo que queremos obtener: ¿Magnitudes?,
     ¿RA?, ¿DEC?, ¿tipo del objeto?, ¿redshift?
                                          o
     ¿De donde queremos sacar la informaci´n que queremos buscar?

                                                                        o
     La base de datos del SDSS tiene organizada toda la informaci´n de un
     objeto, pero la tiene organizada en distintos archivos dentro de la base de
     datos. Por ejemplo, existe un archivo en donde solo se guarda la informa-
       o
     ci´n correspondiente a los espectros de los objetos (como su redshift, por
                                                              o
     ejemplo), otro archivo donde solo se guarda informaci´n sobre la im´gena
     del objeto (como sus magnitudes), etc. Debemos decirle a la base de datos
                                                       o ´           a
     de que archivos queremos obtener la informaci´n. Esto es an´logo al ca-
     so de las bibliotecas, en las cuales distintos sectores estan ordenados por
                o                                        ıa
     distintos t´picos generales (por ejemplo, no podr´ encontrar un libro de
           o                              o
     electr´nica fundamental en la secci´n “Historia de Chile” en una bibliote-
     ca).
             a
     ¿Que par´metros deben cumplirse?

                                                         a
     La base de datos del SDSS debe saber bajo que par´metros debe regirse,
                                                              o
     esto es, si estamos buscando dentro de una cierta regi´n del cielo (por
                                o
     ejemplo, “Quiero informaci´n de objetos que esten entre los 120 de RA y
     los 122 de RA”), si solo queremos que nos muestre galaxias dentro de esa
         o
     regi´n del cielo, magnitudes dentro de ciertos rangos, etc.

Claramente, el SQL como lo dice su nombre es un lenguaje de consulta
estructurado por lo que no podemos decirle de buenas a primeras, con nuestras
palabras, lo que queremos. Necesitamos entender su lenguaje.




                                      3
0.4.     El lenguaje de las consultas
    Pues bien, ya tenemos la idea general de como se estructura una consulta,
                         o
pero debemos entender c´mo es el lenguaje para hacer las consultas. Las consul-
                             o
tas son hechas en la direcci´n http://cas.sdss.org/dr6/en/tools/search/sql.asp.
                                               ı                 o
La idea es llenar el formulario que aparece all´ con la informaci´n que queremos
obtener del SDSS.

    El lenguaje es bastante simple pues sigue la misma estructura expuesta an-
teriormente, tal como se puede apreciar en la tabla siguiente, es como aprender
a “hablar en otro idioma”:

        Pregunta en nuestro lenguaje         Pregunta en el lenguaje SQL
              e
          ¿Qu´ queremos obtener?                      SELECT
             ¿De que archivos?                         FROM
                        a
           ¿Bajo que par´metros?                      WHERE


        e                                                ıa
    De ´ste modo, si llenamos el formulario siempre deber´ quedar estructurado
de la siguiente manera:

             SELECT

                  ı
              (Aqu´ ponemos lo que queremos obtener separado por comas)

             FROM

                   ı
               (Aqu´ ponemos los nombres de los archivos de donde
                                          o        e
             queremos obtener la informaci´n, tambi´n separados por
             comas)

             WHERE

                  ı                   a          e          u
              (Aqu´ ingresamos los par´metros num´ricos de b´squeda)




                                         4
0.5.       Buscando en la base de datos
    Para enviar consultas a la base de datos, primero debemos saber que archivos
contiene la base de datos. En realidad, estos archivos son tablas de datos (algo
  ı
as´ como la forma que tiene una tabla de datos de Excel, con columnas y filas)
por lo que debemos saber exactamente lo que buscamos para poder encontrar la
tabla correspondiente. En el “Schema Browser”7 podemos buscar para encon-
trar en que tablas se encuentran ciertos datos que queremos. Por ejemplo, existe
la tabla PhotoObj 8 la cual contiene datos sobre la im´gen de distintos objetos,
                                                       a
como su magnitud, su c´digo de identificaci´n9 , etc.
                         o                    o

    Para buscar la tabla PhotoObj, hacemos clic en el signo “+” al lado de
                u
“Views” (men´ de la izquierda) y busque en la lista la tabla. Luego hacemos
clic en ella y apareceran todos los datos que contiene la tabla. Estos datos son
los que debemos poner con comas bajo “SELECT” en la estructura mencionada
            o
en la secci´n anterior. Las tablas por su parte, se ponen bajo “FROM” en la
estructura mencionada.

    Supongamos que queremos que la base de datos nos entregue, de la tabla
               o                   o
PhotoObj, el c´digo de identificaci´n del objeto (objid ), la RA, la DEC y las
magnitudes u,g,r,i y z de todos los objetos que esten entre las RA 156 y 156.5
y los valores para DEC de 60 y 60.5. Al escribir la consulta en el lenguaje SQL
tendr´              o
      ıamos que el c´digo correspondiente es:

                           SELECT
                           objID,ra,dec,u,g,r,i,z
                           FROM
                           PhotoObj
                           WHERE
                           ra BETWEEN 156 and 156.5
                           AND
                           dec BETWEEN 60 and 60.5
     e                         a                                     o
Obs´rvese que bajo SELECT est´ todo lo que queremos obtener: El c´digo de
           o
identificaci´n del objeto (objID), la RA, la DEC y las magnitudes en u,g,r,i y
                 a
z. Bajo FROM est´ la tabla de donde queremos estos archivos y bajo WHERE se
                   a           e          e                       e
encuentran los par´metros num´ricos. Obs´rvese que la sintaxis de ´ste es muy
                                                  e
simple si tenemos un poco de conocimiento en ingl´s (BETWEEN traducido al es-
   n                                                          a
pa˜ol es ENTRE): Cada vez que queramos definir un nuevo par´metro, debe ir
                                                           a         a
separado de la palabra “AND”, si queremos que se cumplan ´mbos par´metros,
                                                    o
de la palabra “OR” si queremos que se cumpla uno ´ el otro o de la palabra
                                      a
“NOT” para que NO se cumpla un par´metro. Ahora si escribimos este c´digoo
en la p´gina en donde se deben escribir las consultas10 y luego hacemos click
       a
                                      a
en “Submit” seremos enviados a una p´gina en donde aparecen todos los datos
                        e
pedidos tabulados. Obs´rvese que bajo la columna RA y DEC efectivamente
                                                o
podemos comprobar que se cumple nuestra petici´n: Todas las RA y las DECs
   7 http://cas.sdss.org/dr6/en/help/browser/browser.asp
   8 http://cas.sdss.org/dr6/en/help/browser/description.asp?n=PhotoObj&t=V
   9 Todo objeto en el cielo para el SDSS tiene su c´digo de identificaci´n. Es como el n´ mero
                                                    o                   o               u
              o                                              e                          o
de identificaci´n de cada persona, o el RUT, en Chile, pero ´sto es para objetos astron´micos
  10 http://cas.sdss.org/dr6/en/tools/search/sql.asp




                                              5
   a               a          e                              o
est´n entre los par´metros num´ricos dados bajo WHERE en el c´digo.

            o     a                          ıan   ´
A continuaci´n est´n tabulados datos que podr´ ser utiles para crear solici-
tudes:


   Dato       Tabla                 o
                          Descripci´n
   objID     PhotoObj                      o                     o
                          Nos entrega el c´digo de identificaci´n del objeto.
    RA       PhotoObj     Nos entrega la coordenada correspondiente a la As-
                               o
                          cenci´n Recta (RA).
   DEC       PhotoObj     Nos entrega la coordenada correspondiente a la De-
                                 o
                          clinaci´n (DEC).
      u      PhotoObj     Nos entrega la magnitud correspondiente al filtro u.
      g      PhotoObj     Nos entrega la magnitud correspondiente al filtro g.
      r      PhotoObj     Nos entrega la magnitud correspondiente al filtro r.
      i      PhotoObj     Nos entrega la magnitud correspondiente al filtro i.
      z      PhotoObj     Nos entrega la magnitud correspondiente al filtro z.
    type     PhotoObj                                           e          u
                          Nos entrega el tipo del objeto a trav´s de un n´mero
                                                              a
                          basado en mediciones de la im´gen. Los dos val-
                          ores mas importantes son: 3 cuando el objeto es una
                          galaxia y 6 cuando el objeto es una estrella. Los de-
                                                                      a
                          mas valores se pueden encontrar en la p´gina de la
                          tabla11 .
 bestObjId    SpecObj                        o                     o
                          Nos entrega el c´digo de identificaci´n del objeto
                          (correspondiente al ObjId de la tabla PhotoObj).
     z        SpecObj     Nos entrega el valor del redshift del objeto.
    zErr      SpecObj                                                        ı
                          Nos entrega el error al obtener el redshift (as´ en-
                          tonces el valor del redshift del objeto ser´ z ± zErr).
                                                                     a
   zConf      SpecObj     Confianza estad´  ıstica del valor obtenido del redshift.
 specClass    SpecObj                o
                          Clasificaci´n espectral del objeto (1 = estrella, 2 =
                          galaxia, 3 = quasar, 4 = quasar de alto redshift, etc).
                                                              o          a
                          Puedes encontrar mas informaci´n en la p´gina de
                          specClass12 .
 ObjType      SpecObj                                           e          u
                          Nos entrega el tipo del objeto a trav´s de un n´mero
                          basado en mediciones del espectro. Los valores se
                          pueden encontrar en la p´gina de ObjType13 .
                                                     a

Tabla 1: La tabla presenta en la primera columna el dato a buscar (el que va
siempre bajo SELECT), en la siguiente columna la tabla en la que se encuentra
ese dato (lo que va siempre bajo FROM) y en la tercera columna una descrip-
  o
ci´n del dato. Para buscar mas datos y tablas, es posible buscarlas, como se
        o
mencion´ anteriormente en el “Schema Browser”.




                                      6
0.6.             u
         Usando m´ ltiples tablas a la vez
                                                        o
    Ya estamos casi preparados para buscar informaci´n en el SDSS y responder
                            o
miles de preguntas astron´micas. Solo nos queda generalizar lo aprendido para
                                                       o
usar muchas tablas a la vez, pues, por ejemplo, ¿c´mo podr´      ıamos obtener el
valor del redshift y su respectivo error de los objetos que encontramos antes en
       o
la regi´n del cielo entre las RA 156 y 156.5 y los valores para DEC de 60 y 60.5?
                                                                         o
Pues bien, aunque a primera vista sea algo complicado, el siguiente c´digo lo
hace:


 SELECT
 PhotoObj.objID,PhotoObj.ra,PhotoObj.dec,PhotoObj.u,PhotoObj.g,PhotoObj.r,
 PhotoObj.i,PhotoObj.z,SpecObj.z,SpecObj.zErr
 FROM
 PhotoObj,SpecObj
 WHERE
 SpecObj.BestObjId = PhotoObj.ObjID AND
 PhotoObj.ra BETWEEN 156 and 156.5 AND
 PhotoObj.dec BETWEEN 60 and 60.5

Observese que ahora cada dato debe ser puesto de la forma “tabla.dato”,
                        o
de esta manera en el c´digo escribimos “SpecObj.z” para referirnos al valor
                                                      ´        a
del redshift (z) que es sacado de la tabla SpecObj. Esto es f´cil, pero, ¿por
   e       o
qu´ en el c´digo sale “SpecObj.BestObjId = PhotoObj.ObjID”? Pues ´ste es e
                              ´
un tema interno del SDSS: Ambos datos, el BestObjId en la tabla SpecObj
y ObjID en la tabla PhotoObj deben ser iguales para que sepamos de que
                                                  ı
hablamos del mismo objeto. Observemos que aqu´ ocupamos el s´      ımbolo “=”.
Existen muchos otros operadores que pueden ser usados para representar igual-
                                       e
dades y desigualdades, asi como tambi´n las operaciones suma (+), resta (-),
            o              o                         ´
multiplicaci´n (*) y divisi´n (/) que nos pueden ser utiles para definir ciertos
    a                         a              a
par´metros (una lista de par´metros matem´ticos que se pueden usar se en-
                a
cuentran en la p´gina http://www.redhat.com/docs/manuals/database/RHDB-
7.1.3-Manual/sql/functions-math.html). En la siguiente tabla se enlistan los op-
eradores condicionales que pueden ser usados al crear una solicitud:

                        Operador       Significado
                           =             Igual a
                           >            Mayor que
                           <           Menor que
                          >=         Mayor o igual que
                          <=         Menor o igual que
                          <>          No es igual a


    Por ejemplo, si quisieramos buscar solo las estrellas muy azules en los datos
                              ıa
anteriores, que en astronom´ se definen si el valor de u-g<0.5, tendr´  ıamos que
                       o
escribir el siguiente c´digo:




                                       7
 SELECT
 PhotoObj.objID,PhotoObj.ra,PhotoObj.dec,PhotoObj.u,PhotoObj.g,PhotoObj.r,
 PhotoObj.i,PhotoObj.z,SpecObj.z,SpecObj.zErr
 FROM
 PhotoObj,SpecObj
 WHERE
 PhotoObj.u-PhotoObj.g < 0.5 AND
 PhotoObj.type = 6 AND
 SpecObj.BestObjId = PhotoObj.ObjID AND
 PhotoObj.ra BETWEEN 156 and 156.5 AND
 PhotoObj.dec BETWEEN 60 and 60.5

   e                 o                                                  e
Obs´rvese que en el c´digo expuesto pusimos “PhotoObj.type = 6”, ¿por qu´?,
¿qu´ nos dicen los datos obtenidos al ejecutar dicha solicitud?14
   e

    Si nos ponemos a analizar la cantidad de datos que obtuvimos al agregar a la
solicitud “SpecObj.BestObjId = PhotoObj.ObjID” comparado con la cantidad
de datos obtenida mas arriba (cuando buscamos solo las magnitudes de los
                                                       e
objetos) la primera cantidad es muy baja, ¿por qu´? Si quitamos del c´digo o
la parte “SpecObj.BestObjId = PhotoObj.ObjID” y solicitamos los datos a
                                                o                   o
la base de datos, observamos que muchos c´digos de identificaci´n distintos
                                                                      e
parecen tener el mismo redshift y el mismo error en el redshift...¿qu´ sucede?
                                              a
Pues muchos de los datos cubiertos en el ´rea dada simplemente no poseen
espectros, por lo que su redshift no puede ser calculado y el valor de algun
objeto que si lo tenga y este cerca es copiado15 . Como podemos observar, es una
buena forma de ver que objetos poseen espectros. Ahora bien, de los objetos
                         o
que poseen espectros, ¿c´mo podemos saber que objetos son? Pues simplemente
                                     a                           u
agregando que nos entregue, adem´s de los datos anteriores, el n´mero del tipo
del objeto:


 SELECT
 PhotoObj.objID,PhotoObj.ra,PhotoObj.dec,PhotoObj.u,PhotoObj.g,PhotoObj.r,
 PhotoObj.i,PhotoObj.z,SpecObj.z,SpecObj.zErr,PhotoObj.type
 FROM
 PhotoObj,SpecObj
 WHERE
 SpecObj.BestObjId = PhotoObj.ObjID AND
 PhotoObj.ra BETWEEN 156 and 156.5 AND
 PhotoObj.dec BETWEEN 60 and 60.5

Finalmente podemos concluir que tenemos espectros de 9 objetos: 6 de esos ob-
jetos son galaxias y 3 estrellas (azules). ¿Puedes confirmar visualmente que estas
3 estrellas son realmente azules y que los 6 objetos son realmente galaxias?16 ,
  14 Al poner “PhotoObj.type = 6” en el c´digo nos aseguramos de que solo se nos mostrar´n
                                           o                                                a
estrellas en los datos. Los resultados de la solicitud, por otro lado, nos indican que hay 3
                           o
estrellas azules en la regi´n que poseen espectros.
  15 Puedes     observar     el   a
                                  ´rea    en    el   cielo    observada    en     la     a
                                                                                        p´gina
http://cas.sdss.org/dr6/en/tools/chart/navi.asp poniendo en ra 156.25 y en dec 60.25
                                              a         a             o                   a
y luego haciendo click en “Get Image”. Tendr´s una im´gen de la regi´n del cielo, y podr´s ir
haciendo click a los objetos. ¿Puedes reconocer alguno de los que te entrega la base de datos?
  16 Usa la “Navigation Tool” con las coordenadas de su RA y su DEC




                                              8
                                                 o             ıas
¿Puedes encontrar mas estrellas azules en la regi´n? ¿Que deber´ hacer para
ello?17
  17 Para hacerlo debes quitar la parte “SpecObj.BestObjId = PhotoObj.ObjID” del c´digo   o
                                                    a
que usaste para encontrar estrellas azules adem´s de borrar, bajo SELECT, las magnitudes y
                                                    a
los valores de los redshift, ya que no los necesitar´s. ¿Puedes confirmar visualmente si algunas
son realmente azules?




                                              9
0.7.     ¡A buscar se ha dicho!
                                                                  u
    Ya posees todas las herramientas necesarias para comenzar tu b´squeda en
             u
el SDSS, ¡oc´palas! Si tienes cualquier duda, no dudes en enviar un e-mail al
         e
autor de ´ste documento: nsespino@uc.cl
    a                          ´
Adem´s recuerda los siguientes utiles links del SDSS:
     Buscador en base a SQL: http://cas.sdss.org/dr6/en/tools/search/sql.asp
     El “Schema Browser”: http://cas.sdss.org/dr6/en/help/browser/browser.asp

     La “Navigation Tool”: http://cas.sdss.org/dr6/en/tools/chart/navi.asp




                                      10

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:9/24/2011
language:Spanish
pages:11