menu EXPLORA
history RECIENTE

Qué es SQL

SQL son las siglas de “ Structured Query Language ” o lo que es lo mismo, lenguaje de consulta estructurada . SQL es un lenguaje de programación declarativo que sirve para hacer consultas y cambiar datos en bases de datos del tipo relacional (más adelante explicaremos que es el modelo relacional). Por lo tanto, este lenguaje nos permite interactuar a través de código con grandes bases de datos y sacar de ella los datos que realmente son de nuestro interés.

Des de los años 70 ha sido el lenguaje de programación más usado en bases de datos utilizado en grandes organizaciones como bancos.

SQL es un lenguaje con una curva de aprendizaje corta ya que las sentencias a escribir para la obtención de datos se asemejan mucho al lenguaje hablado en inglés.

SQL es un lenguaje estándar definido por unas normas ANSI. De esta forma, esque lenguaje se puede utilizar por diferentes manejadores o DBMS, como MariaDB, PostgreSQL, Mysql o Oracle SQL.

apache kafka

Apache Kafka

Kafka es un framework big data especializado en la transmisión de eventos streaming en tiempo real. Aprende qué es, cómo funciona y sus ventajas y desventajas.

Ver artículo

Además, múltiples lenguajes aceptan su uso dentro del propio lenguaje. Eso permite interactuar directamente con la base de datos usando Python, Java o PHP a través de sentencias SQL.

¿Para qué sirve aprender a programar SQL?

Saber programar SQL es equivalente a tener el control completo de las bases de datos del tipo relacional. Esto tiene muchas ventajas hoy en día ya que nos encontramos en la era de la información, y los datos son lo más importante que tenemos. Estos datos deben de ser guardados en algún sitio para su posterior análisis. Y adivinad donde se guardan. ¡En base de datos!

Por lo tanto, tenemos millones y millones de datos guardados para su análisis. Pero para poder observarlos y analizarlos es importante saber cómo manipularlos ya que una gran cantidad de datos sin saber como usarlos es como no tener nada.

En este punto es donde se marca la diferencia entre una persona que domina la sintaxis de SQL y otra que no tiene ni idea.

Todas las grandes compañías tecnológicas como Facebook, Google, Microsoft o Netflix utilizan este tipo de lenguaje (entre otros) para almacenar toda la información del usuario y utilizarlos cuando sean necesarios para entrenar sus inteligencias artificiales y proporcional al consumidor eso que necesita en cada momento.

Otros posts que te gustarán

  1. Qué es un data lake
  2. Qué es Tableau

Por lo tanto, aprender este lenguaje de base de datos relacional te abrirá puertas tanto en proyectos propios como para encontrar trabajo. Más adelante en esta misma publicación te daremos los primeros pasos a dar para poder aprender SQL de manera rápida y eficaz.

Bases de datos relacionales

En el año 1970, salió del laboratorio de IBM el modelo relacional. Este consistía en colocar los datos en diferentes tablas que se unían entre ellas a través de una columna presente en las dos. Por ejemplo, en un banco podríamos tener una tabla con la información de los clientes del banco donde cada usuario tiene un identificador único y otra tabla con las diferentes transacciones que ha hecho cada usuario. Estas dos tablas pueden ser unidas a través de unas operaciones denominadas JOIN, y extraer una única tabla.

Resumiendo, en el tipo de base de datos relacional tenemos diferentes tablas que tienen una estructura concreta y que se unen entre ellas con diferentes tipos de relaciones (más adelante entraremos en más profundidad en este tipo de modelos de dato).

Esto las diferencia de las NoSQL o de las bases de datos no relacionales. Las bases de datos no relacionales no tienen una estructura concreta, simplemente se almacenan datos en lo que se denomina colecciones, y cada uno de los datos se localiza a través de una llave única. Por lo tanto, en las bases de datos NoSQL no existen relaciones.

Características de SQL

  • Integridad de datos : este término se refiere a la completitud y correctitud de los datos de la base de datos. Cuando se actualiza o se añade información puede haber fallos que produzcan un cambio en los datos. Este sistema permite evitar este tipo de problemas.
  • Lenguaje de consultas sencillos : las bases de datos relacionales utilizan el lenguaje SQL, muy parecido al lenguaje natural, con lo que permite una fácil interacción con la base de datos. Además, es un lenguaje común a la mayoría de gestores de base de datos relacionales con lo que podemos pasar de uno al otro sin problemas.
  • Gran comunidad : las bases de datos SQL llevan mucho tiempo entre nosotros. Esto ha permitido que exista una gran comunidad alrededor de este lenguaje. Esto ayuda enormemente su aprendizaje y su implementación ya que cualquier problema podemos consultarlo y encontrar una solución eficaz.

Ejemplos de sistemas de gestión que utilizan SQL

  1. PostgreSQL
  2. Mysql
  3. Oracle SQL
  4. Microsoft SQL

Tipos de comandos SQL

Los diferentes comandos que existen en SQL para manipular y extraer las diferentes tablas de una base de datos relacional se pueden clasificar en cinco categorías: DDL (Data Definition Language), DQL (Data Query Language), DML (Data Manipulation Language), DCL (Data Control Language) y TCL (Transaction Control Language).

  • DDL : Este tipo de comandos son usados para definir y cambiar el esquema de las tablas de la base de datos. Algunos ejemplos de estos comandos son: CREATE, ALTER, DROP, TRUNCATE, COMMENT o RENAME.
  • DQL : Estos comandos se utilizan para seleccionar y extraer ciertos datos de interés. El ejemplo principal es la sentencia SELECT.
  • DML : Los cambios y las actualizaciones de los datos son responsables de los comandos DML. Los ejemplos principales son: INSERT, UPDATE y DELETE.
  • DCL : El control de los permisos de las bases de datos se lleva a cabo a través de los comandos DCL. Algunos ejemplos de estos son GRANT y REVOKE.
  • TCL : Las transacciones en base de datos se hace con comandos como ROLLBACK, COMMIT o SET TRANSACTION.

Este tipo de operaciones transaccionales tienen que asegurar que se cumplan cuatro características que tienen las siglas ACID. (Atomicidad, Consistencia, Aislamiento y Durabilidad.

La atomicidad se refiere a la propiedad de que, si una operación consiste en una secuencia de pasos, se tienen que llevar a cabo todos o ninguno.

La consistencia se asegura de que cualquier operación que se haga en la base de datos mantendrá la consistencia de esta y el estado final será valido, sin errores.

EL aislamiento permite la independencia de operaciones. Por lo tanto, si dos transacciones están trabajando con los mismos datos, no se podrán afectar entre si.

La durabilidad permite la persistencia de las transacciones realizadas, evitando que se pierda la información de esta debida a errores en el sistema de base de datos.

X

Aprende más sobre física, tecnología y programación en nuestra newsletter

Estamos preparando la newsletter... los 1000 primeros que se apunten tendrán regalos exclusivos.