A propósito del auge que la ciencia de datos (Data Science) y el Big Data ha tenido en los últimos años, es necesario que quienes decidan adentrarse en este mundo sepan manejar cantidades ingentes de datos sin enloquecer en el intento. Es la razón por la que a continuación presento una introducción al SQL y su importancia para los llamados científicos de datos.
Casi todas las aplicaciones populares y plataformas de redes sociales tienen un motor oculto que alimenta la información y los datos que absorbemos. Con cientos de millones de puntos de datos para realizar un seguimiento, tiene que haber una máquina preparada para mantener esa base de datos. Cada programador tiene su sofware favorito para usar en la administración de bases de datos, pero la mayoría de las aplicaciones utilizan el lenguaje de consulta estructurado, o SQL, para abreviar. (Podemos mencionar los más populares entre los programadores como MySQL, PosgreSQL y SQLite)
SQL es una gran herramienta para aquellos que buscan administrar bases de datos relacionales, que se basan en la conexión de diferentes tipos de datos fundamentados tanto en relaciones como interacciones, como el comentario de un usuario en un vídeo. Cada interacción se almacena y se accede a ella mediante consultas que seleccionan exactamente qué datos deben mostrarse en una página web o de otra manera. Pero SQL es mucho más que una simple herramienta de administración de bases de datos: tiene muchas aplicaciones en varios campos, es una herramienta esencial para limpiar y explorar datos, y combina conjuntos de datos para obtener una mayor información.
Para el programador de vieja escuela y tradicional que prefiere trabajar en un «shell», las consultas de secuencias de comandos no deberían ser un problema, pero para aquellos que prefieren trabajar en un entorno más visual, hay varias opciones disponibles. Para las aplicaciones cliente-servidor, MySQL es un buen recurso, pero para este tutorial, se usará el navegador DB para SQLite.
Una vez que haya descargado la versión adecuada de DB Browser para su sistema, podemos comenzar a buscar fuentes de datos. En Open Data Science, obviamente trataremos de trabajar con datos fácilmente disponibles, y el portal de datos de la ciudad de Boston tiene mucho de sobra. Descargaremos los datos de Informes de incidentes delictivos para trabajar: si los datos que está usando tienen un diccionario de datos, es importante estudiarlos para saber exactamente qué contiene cada columna, especialmente si tiene nombres que no podemos relacionar a priori.
Para comenzar, pinchamos en «crear nueva base de datos», asignamos un nombre a la base de datos y la guardaremos en la ubicación que creamos conveniente.
Uno de los beneficios de usar DB Browser es la capacidad de crear tablas a partir de archivos de valores separados por comas (CSV), que es el formato en el que se encuentran nuestros datos de delitos.
Si tiene curiosidad sobre la sintaxis de codificación involucrada aquí, o si desea crear una tabla desde cero, puede resaltar la tabla y hacer clic en «modificar tabla» para ver el script utilizado para crear nuestra tabla, como se muestra a continuación:
Como se puede observar, cada categoría está asociada con un tipo de datos diferente, que es importante tener en cuenta al crear consultas. En este punto, es posible que busquemos familiarizarnos con los datos mediante la pestaña «Examinar datos».
Una vez que hayamos revisado nuestros datos, podemos comenzar a escribir consultas simples para seleccionar datos específicos que queremos resaltar. Primero, pinchamos la pestaña «Ejecutar SQL» para abrir un shell de secuencias de comandos. El comando distintivo para la mayoría de las consultas SQL es el comando SELECCIONAR, que extrae columnas y filas de una tabla según ciertos criterios. Si escribimos «SELECCIONAR *», podemos incluir cada columna de la tabla, si es necesario. Combinado con los comandos WHERE y FROM, SELECT le permite crear una nueva tabla en solo unas pocas líneas. Aquí, quiero aislar los incidentes de robo de autos; después de ejecutar mi consulta, así es como se ve la salida:
Aquí podremos ver en nuestros resultados que 5664 robos de autos han ocurrido en los últimos cuatro años en la ciudad de Boston. ¿Qué pasaría si quisiéramos obtener recuentos de ciertas cosas, como qué distritos tienen más informes? Podemos usar el comando COUNT para saber esto; nuevamente, solo unas pocas líneas de código y tendremos un conjunto de datos bastante bueno que muestra la cantidad de incidentes por distrito. Nota: es importante utilizar el comando GROUP BY para mostrar el recuento de cada distrito distinto.
Según la clave del distrito del Departamento de Policía de Boston, Roxbury, Dorchester y South End tienen la mayor cantidad de incidentes reportados en los últimos cuatro años. Como práctica, he creado una columna llamada Neighborhood y he utilizado el comando ACTUALIZAR para insertar los nombres de los vecindarios que pertenecen a sus respectivos distritos policiales.
El último ejemplo que mostraré combina todos los comandos que hemos practicado hasta ahora. En este punto motraremos la forma de obtener una lista de las calles más comunes donde ocurren escenas del crimen que involucran tiroteos. Además, se quiere crear una nueva tabla a partir de nuestra consulta para exportarla para usos posteriores, como una visualización. Aquí está la consulta y el resultado:
Si todo va bien, se deberá obtener una nueva tabla en la base de datos que pueda ser vista en la pestaña «Examinar datos», que se podrá manipular como su propio conjunto de datos.
hasta aquí ya hemos aprendido los comandos básicos en SQL; estos comandos, cuando se combinan con un marco, potencian los sistemas de fondo que seleccionan qué datos son relevantes para lo que ve su usuario. Para aquellos que usan SQL para limpiar datos, estos comandos son herramientas útiles, pero con más práctica y una mejor comprensión de la sintaxis de SQL, la limpieza y la exportación de datos deberían ser muy fáciles, incluso para los no programadores. Por lo tanto, ya sea un periodista, un técnico de laboratorio o un analista de big data, le recomendamos que pruebe SQL: podría convertirse en su herramienta favorita para disputar datos.