Saltar al contenido

Bases de datos relacionales, sin misterio.

Una base de datos relacional es solo un conjunto de tablas que se conocen entre sí. Cada tabla guarda filas con la misma forma, y las relaciones entre tablas se hacen con llaves. Eso es todo. Lo demás es vocabulario.

01El modelo en tres ideas

T
Tabla
Una colección de filas con columnas tipadas. usuarios, pedidos, productos.
F
Fila
Un registro concreto: un usuario, un pedido. Cada fila respeta el “esquema” de su tabla.
L
Llave
Identifica filas (PK) y conecta tablas entre sí (FK).

Todo lo que harás se reduce a cuatro verbos — CREATE, INSERT, SELECT, UPDATE/DELETE — más una idea: JOIN, que es como “armar” información que vive en tablas separadas.

02¿Por qué tablas y no “solo un JSON”?

Las tablas obligan a una forma. Esa restricción se llama esquema, y aunque suene rígida es la razón por la que millones de filas siguen siendo rápidas y consistentes décadas después: el motor sabe exactamente qué esperar.

  • Consistencia. El motor rechaza datos malformados antes de que entren.
  • Relaciones explícitas. Las llaves foráneas garantizan que un pedido no apunte a un usuario que no existe.
  • Consultas declarativas. Le dices qué quieres, no cómo conseguirlo. El optimizador hace el resto.
  • Transacciones (ACID). Varias operaciones se completan todas o ninguna.

03Tu primer laboratorio

En cada módulo verás un editor SQL real a la izquierda y la base de datos viva a la derecha. Escribe, dale Ejecutar (o ⌘/Ctrl + Enter) y las tablas se animan al ritmo de tus comandos.

~/sql-labpostgres · in-memory
query.sql
-- Creamos una tabla y le metemos dos filas
CREATE TABLE usuarios (
  id   INT PRIMARY KEY,
  nombre VARCHAR(40),
  ciudad VARCHAR(40)
);

INSERT INTO usuarios VALUES
  (1, 'Ana',  'Bogotá'),
  (2, 'Luis', 'Medellín');

SELECT * FROM usuarios;
listo
Aún no hay tablas. Escribe CREATE TABLE y dale Ejecutar.
Cómo leer este sitio

Cada módulo a la izquierda es un capítulo. Te sugerimos seguirlos en orden la primera vez — cada uno asume lo del anterior.