Вы находитесь на странице: 1из 11

Aprendiendo a usar el Sloan Digital Sky Survey (SDSS) Tutorial de SQL: Buscando Informaci on en el SkyServer

N estor Espinoza (nsespino@uc.cl) 7 de junio de 2011

0.1.

Sobre el Sloan Digital Sky Survey (SDSS)

El Sloan Digital Sky Survey (SDSS) es un proyecto que nace el a no 2000, el cual busca medir el corrimiento al rojo de objetos astron omicos (redshift )1 a trav es de espectros e im agenes, el cual es realizado con un telescopio optico de 2,5 metros de di ametro en el observatorio Apache Point en Nuevo M exico. El telescopio contiene una serie de c amaras CCD que toman im agenes en cinco ltros (llamados u,g,r,i y z respectivamente), las cuales han obtenido datos de m as de 2 millones de objetos aproximadamente y espectros de mas de 800,000 galaxias y 100,000 quasares. Hasta ahora, el proyecto ha cubierto aproximadamente un cuarto del cielo en su exploraci on. Los datos del SLOAN son de libre acceso a trav es de su servidor web, el Skyserver 2 . Tanto las im agenes como los espectros de los objetos estan disponibles para ser descargados, siempre y cuando su uso sea no comercial. El siguiente documento tiene como motivaci on los proyectos del SDSS publicados en su p agina web3 los cuales han sido modicados para el habla hispana a trav es de la p agina web de Bling Bling Universe (http://www.blingblinguniverse.cl), aunque el uso del mismo puede ser mucho m as amplio. Nota: Este es un tutorial paso a paso para aquellas personas que son nuevas al SQL. Si ya posees nociones sobre SQL y quieres una introducci on mas profunda de como el SQL se aplica al SkyServer, ve el tutorial (en ingl es) Using SQL with SkyServer4. Otra manera para aprender SQL es modicar y enviar consultas (querys ) que otra gente ya ha escrito. Para saltar directamente a modicar solicitudes escritas por cient cos, ve las que estan escritas en el siguiente link5 .
1 El corrimiento al rojo se reere a cu anto se est an moviendo los objetos de nosotros, seg un nuestro sistema inercial en la Tierra. Esto posee componentes dadas por el Efecto Doppler, como tambi en correspondientes a la expansi on del universo. M as informaci on: http://www.blingblinguniverse.cl. 2 http://cas.sdss.org/ 3 http://skyserver.sdss3.org/dr8/en/proj/ 4 http://skyserver.sdss3.org/dr8/en/help/docs/sql help.asp 5 http://skyserver.sdss3.org/dr8/en/help/docs/realquery.asp

0.2.

Introducci on

Al entrar al mundo de la astronom a muchas preguntas pueden ser respondidas si se tienen los datos correctos o, por decirlo as , los que uno quiere obtener. La gran pregunta es, c omo obtener los datos correctos? O en otras palabras, c omo 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 observamos una regi on del cielo con alg un cat alogo. Si nos interesa el objeto que estamos observando, quiz a nos gustar a saber mas de el, por lo que podr amos ir al SDSS y preguntarle Quiero saber la magnitud y tener el espectro del objeto que se encuentra en tal regi on del cielo y el deber a devolvernos la magnitud y el espectro de el (los) objeto(s) que se encuentra(n) en esa regi on del cielo (en este caso, tendr amos que entregarle las coordenadas en RA y DEC). 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 informaci on si es que la necesitamos. Si alguna vez queremos compartir material de estudio, por ejemplo, simplemente recomendamos el libro y la p agina del mismo. Ahora bien, puede que una persona que use mucho un computador no necesite libros y tenga toda la informaci on guardada en un archivo de texto, como puede que otras personas deseen guardar toda su informaci on en CDs, etc. Todas son distintas formas de organizar la informaci on: El SDSS tiene una propia. Por ejemplo, y como mencionamos, en el caso en el que las personas deseen buscar informaci on, tendremos distintas formas de hacerlo: Si tenemos libros y cuadernos miraremos sus tapas e ndices para observar los t opicos tratados en ellos, si queremos buscar la informaci on en un computador, la buscamos con el buscador integrado que tienen todos los sistemas operativos con palabras clave y si la informaci on est a guardada en CDs miraremos las car atulas de cada uno de ellos para saber donde se encuentra la informaci on 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 es) es algo as como un formulario que debemos llenar para que se nos entregue la informaci on 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 autor, el nombre del libro y la edici on que queremos del libro. Pues bien, el mediador entre nosotros y la base de datos son las consultas.

0.3.

La estructura de una consulta

Como las consultas que necesitamos hacerle a la base de datos son un poco complicadas (dado que necesitamos, muchas veces, dar par ametros num ericos como por ejemplo quiero solo los datos que sean mayores a tal n umero y a la vez menores a tal n umero) el lenguaje tiene que ser lo mas simple y espec co posible. Y as es. Al hacer una consulta a la base datos del SDSS a trav es del SQL, necesitamos darle la informaci on correspondiente a tres preguntas: Que queremos obtener? La base de datos necesita saber lo que queremos obtener: Magnitudes?, RA?, DEC?, tipo del objeto?, redshift ? De donde queremos sacar la informaci on que queremos buscar? La base de datos del SDSS tiene organizada toda la informaci on 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 informaci on correspondiente a los espectros de los objetos (como su redshift, por ejemplo), otro archivo donde solo se guarda informaci on sobre la im agen del objeto (como sus magnitudes), etc. Debemos decirle a la base de da tos de que archivos queremos obtener la informaci on. Esto es an alogo al caso de las bibliotecas, en las cuales distintos sectores estan ordenados por distintos t opicos generales (por ejemplo, no podr a encontrar un libro de electr onica fundamental en la secci on Historia de Chile en una biblioteca). Que par ametros deben cumplirse? La base de datos del SDSS debe saber bajo que par ametros debe regirse, esto es, si estamos buscando dentro de una cierta regi on del cielo (por ejemplo, Quiero informaci on de objetos que esten entre los 120 de RA y los 122 de RA), si solo queremos que nos muestre galaxias dentro de esa regi on 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.

0.4.

El lenguaje de las consultas

Pues bien, ya tenemos la idea general de como se estructura una consulta, pero debemos entender c omo es el lenguaje para hacer las consultas. Las consultas son hechas en la direcci on http://skyserver.sdss3.org/dr8/en/tools/search/sql.asp. La idea es llenar el formulario que aparece all con la informaci on que queremos obtener del SDSS. El lenguaje es bastante simple pues sigue la misma estructura expuesta anteriormente, tal como se puede apreciar en la tabla siguiente, es como aprender a hablar en otro idioma: Pregunta en nuestro lenguaje Qu e queremos obtener? De que archivos? Bajo que par ametros? Pregunta en el lenguaje SQL SELECT FROM WHERE

De este modo, si llenamos el formulario siempre deber a 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 queremos obtener la informaci on, tambi en separados por comas)

WHERE
(Aqu ingresamos los par ametros num ericos de b usqueda)

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 las) por lo que debemos saber exactamente lo que buscamos para poder encontrar la tabla correspondiente. En el Schema Browser7 podemos buscar para encontrar en que tablas se encuentran ciertos datos que queremos. Por ejemplo, existe la tabla PhotoObj 8 la cual contiene datos sobre la im agen de distintos objetos, como su magnitud, su c odigo de identicaci on9 , etc. Para buscar la tabla PhotoObj, hacemos clic en el signo + al lado de Views (men u 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 en la secci on 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 PhotoObj, el c odigo de identicaci on 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 amos que el c odigo 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 Obs ervese que bajo SELECT est a todo lo que queremos obtener: El c odigo de identicaci on del objeto (objID), la RA, la DEC y las magnitudes en u,g,r,i y z. Bajo FROM est a la tabla de donde queremos estos archivos y bajo WHERE se encuentran los par ametros num ericos. Obs ervese que la sintaxis de este es muy simple si tenemos un poco de conocimiento en ingl es (BETWEEN traducido al espa nol es ENTRE): Cada vez que queramos denir un nuevo par ametro, debe ir separado de la palabra AND, si queremos que se cumplan ambos par ametros, de la palabra OR si queremos que se cumpla uno o el otro o de la palabra NOT para que NO se cumpla un par ametro. Ahora si escribimos este c odigo en la p agina en donde se deben escribir las consultas10 y luego hacemos click en Submit seremos enviados a una p agina en donde aparecen todos los datos pedidos tabulados. Obs ervese que bajo la columna RA y DEC efectivamente podemos comprobar que se cumple nuestra petici on: Todas las RA y las DECs
7 http://skyserver.sdss3.org/dr8/en/help/browser/browser.asp 8 http://skyserver.sdss3.org/dr8/en/help/browser/description.asp?n=PhotoObj&t=V 9 Todo objeto en el cielo para el SDSS tiene su c odigo de identicaci on. Es como el n umero de identicaci on de cada persona, o el RUT, en Chile, pero esto es para objetos astron omicos 10 http://skyserver.sdss3.org/dr8/en/tools/search/sql.asp

est an entre los par ametros num ericos dados bajo WHERE en el c odigo. A continuaci on est an tabulados datos que podr an ser u tiles para crear solicitudes:

Dato objID RA DEC u g r i z type

Tabla PhotoObj PhotoObj PhotoObj PhotoObj PhotoObj PhotoObj PhotoObj PhotoObj PhotoObj

bestObjId z zErr zConf specClass

SpecObj SpecObj SpecObj SpecObj SpecObj

ObjType

SpecObj

Descripci on Nos entrega el c odigo de identicaci on del objeto. Nos entrega la coordenada correspondiente a la Ascenci on Recta (RA). Nos entrega la coordenada correspondiente a la Declinaci on (DEC). Nos entrega la magnitud correspondiente al ltro u. Nos entrega la magnitud correspondiente al ltro g. Nos entrega la magnitud correspondiente al ltro r. Nos entrega la magnitud correspondiente al ltro i. Nos entrega la magnitud correspondiente al ltro z. Nos entrega el tipo del objeto a trav es de un n umero basado en mediciones de la im agen. Los dos valores mas importantes son: 3 cuando el objeto es una galaxia y 6 cuando el objeto es una estrella. Los demas valores se pueden encontrar en la p agina de la tabla11 . Nos entrega el c odigo de identicaci on del objeto (correspondiente al ObjId de la tabla PhotoObj). Nos entrega el valor del redshift del objeto. Nos entrega el error al obtener el redshift (as entonces el valor del redshift del objeto ser a z zErr). Conanza estad stica del valor obtenido del redshift. Clasicaci on espectral del objeto (1 = estrella, 2 = galaxia, 3 = quasar, 4 = quasar de alto redshift, etc). Puedes encontrar mas informaci on en la p agina de specClass12 . Nos entrega el tipo del objeto a trav es de un n umero basado en mediciones del espectro. Los valores se pueden encontrar en la p agina de ObjType13 .

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 descripci on del dato. Para buscar mas datos y tablas, es posible buscarlas, como se mencion o anteriormente en el Schema Browser.

0.6.

Usando m ultiples tablas a la vez

Ya estamos casi preparados para buscar informaci on en el SDSS y responder miles de preguntas astron omicas. Solo nos queda generalizar lo aprendido para usar muchas tablas a la vez, pues, por ejemplo, c omo podr amos obtener el valor del redshift y su respectivo error de los objetos que encontramos antes en la regi on del cielo entre las RA 156 y 156.5 y los valores para DEC de 60 y 60.5? Pues bien, aunque a primera vista sea algo complicado, el siguiente c odigo 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, de esta manera en el c odigo escribimos SpecObj.z para referirnos al valor del redshift (z) que es sacado de la tabla SpecObj. Esto es f acil, pero, por qu e en el c odigo sale SpecObj.BestObjId = PhotoObj.ObjID? Pues este es 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 igualdades y desigualdades, asi como tambi en las operaciones suma (+), resta (-), multiplicaci on (*) y divisi on (/) que nos pueden ser u tiles para denir ciertos par ametros (una lista de par ametros matem aticos que se pueden usar se encuentran en la p agina http://www.redhat.com/docs/manuals/database/RHDB7.1.3-Manual/sql/functions-math.html). En la siguiente tabla se enlistan los operadores condicionales que pueden ser usados al crear una solicitud: Operador = > < >= <= <> Signicado 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 anteriores, que en astronom a se denen si el valor de u-g<0.5, tendr amos que escribir el siguiente c odigo:

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 Obs ervese que en el c odigo expuesto pusimos PhotoObj.type = 6, por qu e?, qu e nos dicen los datos obtenidos al ejecutar dicha solicitud?14 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 objetos) la primera cantidad es muy baja, por qu e? Si quitamos del c odigo la parte SpecObj.BestObjId = PhotoObj.ObjID y solicitamos los datos a la base de datos, observamos que muchos c odigos de identicaci on distintos parecen tener el mismo redshift y el mismo error en el redshift...qu e sucede? Pues muchos de los datos cubiertos en el area 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 que poseen espectros, c omo podemos saber que objetos son? Pues simplemente agregando que nos entregue, adem as de los datos anteriores, el n umero 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 objetos son galaxias y 3 estrellas (azules). Puedes conrmar visualmente que estas
14 Al poner PhotoObj.type = 6 en el c odigo nos aseguramos de que solo se nos mostrar an estrellas en los datos. Los resultados de la solicitud, por otro lado, nos indican que hay 3 estrellas azules en la regi on que poseen espectros. 15 Puedes observar el a rea en el cielo observada en la p agina http://skyserver.sdss3.org/dr8/en/tools/chart/navi.asp poniendo en ra 156.25 y en dec 60.25 y luego haciendo click en Get Image. Tendr as una im agen de la regi on del cielo, y podr as ir haciendo click a los objetos. Puedes reconocer alguno de los que te entrega la base de datos?

3 estrellas son realmente azules y que los 6 objetos son realmente galaxias?16, Puedes encontrar mas estrellas azules en la regi on? Que deber as hacer para ello?17
la Navigation Tool con las coordenadas de su RA y su DEC hacerlo debes quitar la parte SpecObj.BestObjId = PhotoObj.ObjID del c odigo que usaste para encontrar estrellas azules adem as de borrar, bajo SELECT, las magnitudes y los valores de los redshift, ya que no los necesitar as. Puedes conrmar visualmente si algunas son realmente azules?
17 Para 16 Usa

0.7.

A buscar se ha dicho!

Ya posees todas las herramientas necesarias para comenzar tu b usqueda en el SDSS, oc upalas! Si tienes cualquier duda, no dudes en enviar un e-mail al autor de este documento: nsespino@uc.cl Adem as recuerda los siguientes u tiles links del SDSS: Buscador en base a SQL: http://skyserver.sdss3.org/dr8/en/tools/search/sql.asp El Schema Browser: http://skyserver.sdss3.org/dr8/en/help/browser/browser.asp La Navigation Tool: http://skyserver.sdss3.org/dr8/en/tools/chart/navi.asp

10

Вам также может понравиться