18 puntos por GN⁺ 2024-02-07 | 1 comentarios | Compartir por WhatsApp

SQL for the Weary

  • Público objetivo: Rachel, con una maestría en biología celular, trabaja en análisis celular en un hospital de investigación y quiere convertirse en científica de datos.
  • Conocimientos previos necesarios: comandos básicos de Unix y capacidad para analizar datos tabulares.
  • Resultados de aprendizaje: explicar la diferencia entre una base de datos y un administrador de bases de datos, escribir SQL, definir tablas y manipular datos, explicar los tipos de joins, usar funciones de ventana para trabajar con filas adyacentes, comprender transacciones y triggers, manipular datos JSON con SQL e interactuar con bases de datos mediante Python.

Configuración

  • Descargar la versión más reciente: descomprimir en un directorio temporal los archivos que incluyen ejemplos de bases de datos SQLite, consultas SQL y scripts de Python.

Conceptos de fondo

  • Base de datos: conjunto de datos que se puede almacenar y consultar.
  • Sistema de gestión de bases de datos (DBMS): programa que administra un tipo específico de base de datos.
  • SQLite: guarda la base de datos en un solo archivo; PostgreSQL distribuye la información en varios archivos para lograr mayor rendimiento.
  • Sistema de gestión de bases de datos relacional (RDBMS): almacena los datos en tablas y los consulta usando SQL.
  • Base de datos NoSQL: también existen bases de datos como MongoDB que no usan tablas.

Conexión a la base de datos

  • Conexión a la base de datos: no es una consulta real, pero es un paso necesario antes de realizar otras operaciones.

Comandos administrativos

  • Comandos administrativos de SQLite: no forman parte del SQL estándar, y los comandos especiales de PostgreSQL comienzan con \.
  • Formato de salida: usar .headers on y .mode markdown para mostrar los resultados de forma legible.

Manipulación de tablas

  • Crear tablas: definir tablas y columnas con el comando create table.
  • Insertar datos: agregar datos a una tabla con el comando insert into.
  • Actualizar filas: cambiar los datos de las filas que cumplen una condición específica con el comando update.
  • Eliminar filas: quitar las filas que cumplen una condición específica con el comando delete from.

Joins

  • Join: operación para combinar información de dos tablas.
  • Inner join: usar inner join para combinar solo las filas coincidentes de ambas tablas.
  • Left join: usar left join para conservar todas las filas de la tabla izquierda y rellenar con null los valores faltantes de la tabla derecha.

Funciones de agregación

  • Agregación: operación para combinar varios valores en uno solo.
  • Funciones de agregación comunes: usar sum, max, min, avg y otras para agregar datos.
  • Agrupación: usar group by para agrupar filas según combinaciones únicas de columnas específicas y realizar agregaciones para cada grupo.

La opinión de GN⁺

  • Este artículo es un recurso útil para ayudar a comprender los conceptos básicos de las bases de datos y SQL, especialmente para ingenieros de software principiantes o personas interesadas en la ciencia de datos.
  • Explica diversas funciones de SQL con ejemplos reales, y ofrece conocimientos prácticos sobre administración y manipulación de bases de datos.
  • En particular, temas como joins de bases de datos, funciones de agregación y manipulación de tablas son muy importantes en tareas relacionadas con análisis de datos, y este artículo ayuda a entender estos conceptos con claridad.

1 comentarios

 
GN⁺ 2024-02-07
Comentarios de Hacker News
  • Se puede usar ChatGPT para escribir consultas complejas como lo haría un científico de datos. Con esto se pueden obtener métricas útiles como la tasa de conversión y la tasa de clics en mensajes.
  • El significado del término científico de datos ha cambiado desde la época en que se consideraba "la profesión más sexy". En el artículo, Rachel, que tiene una maestría en biología, analiza células en un hospital de investigación y quiere convertirse en científica de datos. Antes, los científicos de datos solían ser personas con una formación tanto cuantitativa como en ingeniería de software, pero hoy en día a veces se les considera "analistas de datos sobrevalorados".
  • Podría ser mejor reescribir esta guía usando DuckDB. Actualmente, DuckDB se usa más que SQLite entre los científicos de datos.
  • Es una guía de SQL muy concisa, con una excelente enseñanza basada en ejemplos. En las universidades de EE. UU. esto se enseña durante todo un semestre, pero esta guía es suficiente para la mayoría de los puestos de ingeniería de software en la industria, excepto la optimización de bases de datos.
  • Se puede practicar SQL con una app para Mac llamada TextQuery. Permite importar rápidamente conjuntos de datos CSV y ejecutar consultas SQL, y la versión beta actual puede usarse gratis.
  • Está bien descargar tutoriales largos de una sola página para leerlos durante vuelos con wifi inestable. Da curiosidad si hay tutoriales similares sobre otros lenguajes o tecnologías además de SQL.
  • Muchas de las consultas solo son válidas en SQLite, e incluyen funciones que algunos DBMS no soportan. Por ejemplo, el filtrado de agregados no es compatible con MySQL, MS SQL ni Oracle.
  • Parece más un buen resumen de SQL en general que un tutorial específicamente para científicos de datos.
  • La explicación de "left outer join" solo aplica a condiciones de igualdad y puede generar una idea equivocada sobre left join. Este tipo de explicación es muy común, pero puede resultar engañosa.