Descubre los 10 trucos SQL que te ayudarán a trabajar mejor en tus bases de datos. Hablamos del Structured Query Language (SQL) y de su importancia.

Según Google, actualmente se hablan más de  7.100 idiomas distintos en todo el mundo. Sorprendente, ¿verdad? Si contamos todos los lenguajes de programación informática que existen, la cifra supera los 7.700 idiomas. El Structured Query Language o SQL es uno de los lenguajes de programación más hablados en el país de los datos. ¿Hablas SQL? ¡Descubre los 10 trucos SQL que deberías conocer!

ordenador-manos-trucos-sql

Hasta donde sabemos, el primer idioma hablado por los humanos se remonta al año 3500 aC. El primer lenguaje de programación fue concebido por Ada Lovelace en 1883. El Structured Query Language —Lenguaje Estructurado de Consulta— o SQL fue creado en 1970 por dos investigadores de IBM, Raymond Boyce y Donald Chamberlin.

Con más de 50 años de historia, actualmente, SQL está en el top 10 de los lenguajes de programación más usados alrededor del mundo y, si nos centramos en el mundo del data analytics, seguramente sea el primero.

Se trata de un lenguaje que cualquier analista o científico de datos debe conocer, y es que es la base para poder trabajar con bases de datos relacionales

¿Qué es SQL?

El Structured Query Language o SQL es el lenguaje de programación que usamos para comunicarnos con bases de datos. Como su nombre indica, el lenguaje permite a los analistas de datos manipular y extraer datos de una base de datos relacional, entre otras muchas cosas, y realizar consultas —queries— en los conjuntos de datos.

Es, en pocas palabras, el lenguaje usado para realizar consultas en una base de datos.

El lenguaje SQL parte de la base de que todos los datos de una base de datos están relacionados y deben ser representados según estas relaciones. Precisamente por esto, SQL se usa principalmente para trabajar con bases de datos relacionales. Las bases de datos más conocidas que usan SQL son SQL Server, MySQL, Oracle y PostgreSQL.

La ventaja de SQL, además de ser uno de los idiomas básicos de la ciencia de datos, es que es fácil de leer y de entender. De hecho, se trata de un lenguaje cuya sintaxis es bastante parecida a la del  inglés.

Otra de las ventajas de SQL es que se trata de un lenguaje flexible y versátil que ofrece muchas posibilidades y formas de visualizar los datos para atender a las demandas específicas de cada usuario. Asimismo, SQL nos ayuda a garantizar la integridad de los datos, en la medida en que nos aseguramos de que los datos son válidos, coherentes y que no contienen errores

Ejemplo de comando SQL

Una de las funciones más básicas que podemos realizar en SQL es juntar dos tablas independientes mediante la instrucción 'Left Join', que integra todos los registros de la tabla izquierda con los registros de la tabla derecha: 

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName

Como vemos en este ejemplo, el lenguaje SQL es muy parecido al inglés. 'SELECT' significa seleccionar, 'FROM' es desde y 'ORDER BY' significa ordenar por. Básicamente, se trata de un lenguaje de programación que usa la misma sintaxis que el inglés, por lo que aprenderlo no es complicado.

SQL: Comandos y términos más básicos

De todas, 'SELECT' es la instrucción más básica de SQL y la que cualquier persona que quiera iniciarse en este lenguaje de computación debería aprender primero. 

En SQL, 'SELECT' nos sirve para describir el conjunto de datos que queremos obtener de una base de datos. Es decir, es la consulta principal y la que probablemente más usaremos para todo. Para hacer la consulta, debemos especificar qué tablas contienen los datos, las relaciones entre los datos, los campos o cálculos aplicados a los datos, los criterios que deben cumplir los datos para ser incluidos en la selección y cómo queremos ordenar los datos. 

Más allá de 'SELECT', otros de los comandos más básicos de SQL son: 

Comando SQL ¿Qué hace?
SELECT Nos muestra una lista con aquellos campos que contienen datos de interés según nuestra consulta.
FROM Nos muestra las tablas que contienen los campos de la cláusula 'SELECT'.
WHERE Especifica los criterios de campo deben cumplir los datos para ser incluido en la selección.
ORDER BY Especifica la forma de ordenar los datos.
GROUP BY En instrucciones que incluyen funciones de agregado, 'Group by' nos  muestra los campos que no se resumen en la cláusula SELECT.
HAVING En instrucciones que incluyen funciones de agregado, especifica las condiciones que se aplican a los campos que se resumen en la cláusula 'SELECT'.

 

10 trucos SQL que te facilitarán el trabajo 

A continuación listamos los que, según nuestra experiencia, son los 10 mejores consejos para trabajar con este lenguaje de programación

1. Usa nombres descriptivos para las tablas de datos

A la hora de poner nombre a nuestras tablas de datos y a las columnas de las tablas, es recomendable usar nombres lo más sencillos, fáciles de entender y descriptivos que sea posible. Esto nos facilitará mucho el trabajo a la hora de realizar consultas y ejecutar nuestros comandos.

Es más recomendable usar nombres descriptivos que usar nombres cortos que no se entiendan.

2. Usa mayúsculas y minúsculas para distinguir los elementos de las consultas

A pesar de que no es obligatorio porque el lenguaje SQL no distingue entre letras mayúsculas y minúsculas, la mayoría de analistas de datos usan la minúscula para las tablas y las columnas y la mayúscula para el resto. 

Esta distinción entre minúsculas y mayúsculas facilita la lectura y la comprensión de las consultas. 

3. Sigue el orden de ejecución de SQL

Es indispensable seguir el orden de ejecución de SQL a la hora de escribir nuestras consultas y comandos. El orden establecido de SQL proporciona un mejor rendimiento y nos evita problemas. 

El orden de ejecución SQL es: 

1. SELECT
2. FROM
3. WHERE
4. GROUP BY
5. HAVING: Filtra los datos agregados
6. ORDER BY

4. No uses demasiadas tablas

La organización de las bases de datos en tablas facilita la comprensión de los datos y de sus relaciones. Sin embargo, no es recomendable usar una gran cantidad de tablas de una o dos columnas, ya que estos datos probablemente se pueden integrar a otras tablas. 

Tener menos tablas nos simplificará el trabajo y evitará sobrecargar la base de datos.

5. No crees tablas con demasiadas columnas

Intenta encontrar un punto medio. Normalizar los datos es eficiente, pero en la medida justa. No obstante, crear tablas extremadamente largas y con muchísimas columnas tampoco es recomendable. 

Es preferible que nuestras tablas no lleguen a las 20 columnas para no sobrecargar la base de datos y facilitar la recuperación y el análisis de datos. 

6. Mantén la coherencia entre las claves primarias y externas

En SQL, las relaciones entre tablas se crean a través de claves. Las claves son campos introducidos en la tabla relacional y existen muchas formas de nombrarlas. No obstante, es importante que seamos coherentes a la hora de nombrar las claves. Si no, nos resultará más complejo crear las relaciones. 

Es recomendable nombrar la clave externa en función de la clave primaria. Por ejemplo, si nuestra clave primara está etiquetada como «id», podemos llamar «tablename_id» a la clave externa.

7. Cuidado con los puntos en los nombres

No uses puntos en los nombres de tablas, columnas y campos. En SQL los puntos se usan para separar las tablas de los campos. Siguiendo con el ejemplo anterior, cuando quieras hacer referencia a otro elemento, usa el guión bajo: «tablename_id».

8. Evita las tablas y las columnas heredadas

El proceso de mantenimiento de los datos y el proceso de validación y verificación de los mismos resultará más fácil y rápido si nos deshacemos de las columnas y de las tablas heredadas. 

9. Almacena las fechas como datetime

La inclusión de fechas es una de las cláusulas SQL más complejas. Por ello, las buenas prácticas SQL aconsejan guardar días, meses y años en el formato del campo 'datetime'. Lo más fácil es almacenar una sola zona horaria para evitar complicaciones a la hora de analizar series temporales. 

10. No pierdas de vista la fuente de datos de origen

Los datos contenidos en una base de datos relacional provienen de una fuente de origen externa. En este sentido, es importante no perder de vista la fuente de origen y etiquetar las vistas en consecuencia, referenciando el origen de los datos. 

 

¿Quieres sacar un mayor provecho a tus datos?

¡Te ayudamos!

 

Publicado por Núria Emilio