Mi relación

amor-odio

con SQL

¿Qué es?

  • Originalmente basado en el álgebra relacional y el cálculo relacional tuplas.

 

  • Consiste en un lenguaje de definición de datos, lenguaje de manipulación de datos y un lenguaje de control de datos.

 

  • SQL se convirtió en un estándar del American National Standards Institute (ANSI) en 1986, y del International Organization for Standardization (ISO) en 1987.
  • Es un lenguaje de dominio especifico usado en la programacion y diseño de datos retenidos en un Sistema Manejador de Base de Datos Relacional (RDBMS)

¿Es difícil de aprender?

  • Empieza por agregar varios datos usando INSERT

  • Crea tus tablas basandote en las columnas de los conjuntos de datos (CREATE), no olvides equivocarte para usar DROP, ALTER, RENAME.
  • Practica el exportar los datos de una base de datos a un archivo y luego restaurarlo.
  • Elimina datos o actualizalos de forma aleatoria
  • Crea preguntas basados en los datos ¿Cuál es el modelo de taxi más frecuente? ¿Cuál es el nombre más común en los taxistas? ¿Cuál es el menos común?

Usa SELECT para responderlas

  • Crea usuarios y dale permisos.
  • Has sesiones diarias de práctica y júntate con tus compañeros a hacer análisis usando solo SQL, diseñen sus actividades de acuerdo a lo que desean aprender.

  • Crea tus scripts y compártelos en la red para obtener retroalimentación.

Al final ya tocaste los lenguajes de descripción y manipulación y control de datos.

 

Luego ve por más conceptos relaciones, triggers, indices, declarar procedimientos, funciones de agregación , vistas, transacciones, etc.

¿Es aburrido?

Si, si no buscas nada. Busca curiosidades en los datos, usalos para crear proyectos, tomar decisiones.

No todo tiene que ser en una terminal, sqlpad.

Busca jugar un poco más con los errores de las aplicaciones, sqlmap.

¡O lo que tu prefieras!

Lo usa todo el mundo

  • ¿A quien le importa? Deja dinero
  • Lo que aprenda para un sistema lo podre aplicar en otros. (iluso)
  • Dale la vuelta con una variante y complementalo después (mi caso).
    • AQL - Lenguaje para base de datos muntimodelo Arango
    • Cypher - Lenguaje para base de datos orientada a grafos neo4j
    • CQL - Lenguaje para base de datos orientada a columnas Cassandra
    • InfluxQL - Lenguaje para base de datos de series de tiempo InfluxDB

Posibles respuestas

¿Cómo implementarlo?

  • Piensa que necesitas de la base de datos para resolver tu problema.

 

  • Usa algun sistema de modelado para ver tus objetos y relaciones, esto te dara un mejor panorama.

 

  • Puedes usar un ORM para crear tus modelos y sus relaciones, pueden venir incluidos con una herramienta para hacer migraciones.
  • Usa algún modulo de tu lenguaje para hacer todas tus labores.

 

  • Crea procedimientos en la base de datos de acuerdo a lo que vas a consumir para no pelearte con declaraciones del lado del cliente.

Sitios para continuar

Miguel Ángel Gordián Sánchez

@ilcapitanozoek

deck

By Miguel Angel Gordian