Módulo 4 · Relacionar tablas

Relaciones, claves primarias y claves foráneas

Comprende cómo dos tablas representan partes conectadas de un mismo problema.

⏱ 20 minNivel: InicialRequisito: Tablas, filas y columnas

0 de 40 lecciones

Al terminar esta lección podrás

  • Identificar claves.
  • Explicar una relación entre tablas.
  • Elegir columnas correctas para un JOIN.

Antes de empezar: Tablas, filas y columnas. Explica en una frase qué recuerdas antes de continuar.

La idea, sin código

Una clave primaria identifica de forma única una fila. Una clave foránea guarda el identificador de una fila relacionada. En pedidos, cliente_id apunta a clientes.id.

Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?

Sintaxis mínima

Estructura
clientes.id  ←  pedidos.cliente_id

Primer ejemplo guiado

Datos de ejemplo: tabla clientes
idnombreciudademail
1AnaMadridana@ejemplo.es
2LuisValencialuis@ejemplo.es
3MartaMadridNULL
4OmarSevillaomar@ejemplo.es
5NoraBilbaonora@ejemplo.es
Datos de ejemplo: tabla pedidos
idcliente_idfechatotalestado
10112026-07-0265enviado
10222026-07-04189pendiente
10312026-07-0944enviado
10432026-07-11899cancelado
10552026-07-15118enviado

Analiza la consulta antes de comprobar el resultado:

SQL
SELECT id, cliente_id, total
FROM pedidos;
Resultado esperado
idcliente_idtotal
101165
1022189
103144
1043899
1055118

Qué ocurre paso a paso

  1. pedidos.id identifica cada pedido.
  2. pedidos.cliente_id no identifica el pedido; identifica su cliente.
  3. La relación permite buscar el nombre sin duplicarlo en cada pedido.
Comprueba que lo entendiste

¿Qué columna relaciona pedidos con clientes?

Error frecuente

Consulta o razonamiento problemático

Revisar
JOIN clientes ON pedidos.id = clientes.id

Une identificadores de entidades diferentes. La relación correcta es pedidos.cliente_id = clientes.id.

Práctica guiada

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Describe la relación entre libros y autores utilizando sus columnas.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Explica por qué no conviene copiar el nombre del cliente dentro de cada pedido.

Comparar con una solución posible
SQL
El nombre podría cambiar y quedar inconsistente; la clave mantiene una sola fuente de verdad.

Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.

Resumen para llevarte

  • La clave primaria identifica una fila.
  • La clave foránea representa una relación.
  • Comprender la relación precede a escribir un JOIN.

Siguiente paso: Continúa con INNER JOIN: conservar coincidencias.

Consulta rápida