(Structured Query Language)
🗣 es un lenguaje de consulta estructurado.
🖐Atención: No es un lenguaje de programación como JavaScript.
Es un lenguaje de consulta diseñado específicamente para gestionar y consultar bases de datos relacionales.
Bien, no demos nada por sentado.
Es un sistema para almacenar datos y conectarlos entre sí en una unidad lógica, un conjunto de datos estructurados que pertenecen a un mismo contexto.
📖Si yo tengo un cuaderno donde apunto todos los pedidos que hacen mis clientes, mi cuaderno es una base de datos.
Volviendo al punto en el que estabamos antes, hablando de SQL como un lenguaje de consulta diseñado específicamente para gestionar y consultar bases de datos relacionales. Vamos hacer hincapié en la parte de bases de datos relacionales, porqué es "la base" de las bases de datos SQL 👇
Cada tabla tiene:
- Filas (registros): cada fila representa un dato individual.
- Columnas (atributos): cada columna representa una característica de esos datos.
| id | name | |
|---|---|---|
| 1 | Juana | juana@email.com |
| 2 | Roberto | roberto@email.com |
La tabla del ejemplo tiene 2 registros, 3 columnas:
- Filas:
1, Juan, juana@email.com,2, Roberto, roberto@email.com - Columnas :
id,nombre,email
🗣 las relaciones entre tablas, ayudan a
evitar la duplicación de datos.
Para relacionar tablas, se usan identificadores únicos llamados 🗝id🗝.
Veamos un ejemplo:
Una tabla de usuarios tiene un id único por cada persona.
Una tabla de pedidos puede incluir un campo user_id que referencia al id de un usuario.
tabla users 👇
| id | name | |
|---|---|---|
| 1 | Juana | juana@email.com |
| 2 | Roberto | roberto@email.com |
tabla pedidos 👇
| id | user_id | article | number |
|---|---|---|---|
| 1 | 2 | patatas-small | 2 |
| 2 | 2 | pizza-jamon-piña | 1 |
Esto permite conectar información entre tablas sin repetir datos. Es decir, los pedidos se relacionan con los usuarios mediante su id, en lugar de volver a escribir el nombre o correo del usuario en cada pedido.
En el ejemplo podemos ver como el usuario 2, es decir, Roberto, es el único que ha realizado pedidos.
Con SQL puedes hacer cosas como
INSERT: agregar nuevos registros. CREATESELECT: consultar datos. READUPDATE: modificar datos existentes. UPDATEDELETE: eliminar registros. DELETECREATE TABLE,ALTER,DROP: modificar la estructura de la base de datos.
Aquí aparece el famoso CRUD, que representa las acciones que se pueden realizar sobre los datos: Crear, Leer, Actualizar y Eliminar.
Bien, llegados a este punto, no podemos ponernos a escribir SQL así como así.
Necesitas un SGBD (Sistema de Gestión de Bases de Datos), como PostgreSQL, MySQL, SQLite, etc.
Seguramente te estarás preguntando: ¿por qué?😭😭😭
La respuesta es simple: SQL es un lenguaje, no un programa o sistema que pueda ejecutar instrucciones por sí mismo.
-
👁👉 ¿Cómo trabajar con PostgreSQL?
De todas formas antes de meterte directamente con un SGBD, si es tu primera vez con SQL te recomiendo comenzar con:
NoSQL se refiere a bases de datos no relacionales. En lugar de tablas, organizan los datos en:
- Documentos (como JSON)
- Colecciones
- Claves y valores
A diferencia de SQL:
No usan relaciones entre entidades.
Duplican datos (por ejemplo, la información del usuario puede aparecer en cada documento de pedido).
Son más flexibles en estructura, pero menos consistentes si no se gestionan bien.
| Tipo | Ventajas | Desventajas |
|---|---|---|
| Relacional (SQL) | Organización clara, sin datos repetidos | Requiere múltiples consultas para reunir datos |
| No Relacional | Rápida y flexible para ciertos escenarios | Duplica información, sin relaciones reales |
- SQL es un lenguaje estándar para gestionar bases de datos relacionales.
- Las bases de datos relacionales usan tablas, columnas e IDs para mantener los datos organizados y conectados.
- Las bases de datos NoSQL usan documentos, no hacen relaciones reales y tienden a duplicar datos.
- SQL es ideal cuando se necesita integridad y organización en los datos.