Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Relacionar tablas

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

40 minutos

El bar apunta cada pedido

En el bar del instituto apuntan cada pedido. Iker pide un bocadillo, luego un zumo y luego una tostada.

Si escriben "Iker Mora, clase 1B" en las tres filas, repiten sus datos tres veces. El día que Iker cambie de clase, habrá que corregir tres filas.

Hay una forma mejor: guardar a Iker una sola vez.

Palabras clave

PalabraQué significaEjemplo
RelaciónEl enlace entre dos tablas.Un alumno y sus pedidos
Clave ajenaUna columna que guarda el id de una fila de otra tabla.student_id
Uno a muchosUna fila de una tabla se enlaza con muchas filas de otra.Un alumno, tres pedidos
Dato repetidoEl mismo dato escrito en varias filas. Es una fuente de errores.Iker Mora tres veces
EnlaceEl camino de un id en una tabla al mismo id en otra.student_id 2 lleva a Iker

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: la tabla de alumnos

Código: sql
-- Cada alumno aparece una sola vez, con su id.
SELECT * FROM students;

Cada dato en un solo sitio

La solución es usar dos tablas. La tabla students guarda a cada alumno una vez. La tabla orders guarda los pedidos.

En un pedido no escribimos el nombre. Escribimos solo el id del alumno.

Lo que NO hacemos: todo en una tabla

idnameclass_nameitemprice
1Iker Mora1Bbocadillo3.5
2Marta Gil1Azumo1.5
3Iker Mora1Bzumo1.5
4Iker Mora1Btostada2.0
5Nora Vidal1Abocadillo3.5

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: la tabla de pedidos

Código: sql
-- Mira la columna student_id.
-- No es un nombre: es el número de un alumno.
SELECT * FROM orders;

La clave ajena

La columna student_id de los pedidos es una clave ajena. Se llama "ajena" porque el id no es de esta tabla: pertenece a students.

Para saber quién hizo un pedido, miras su student_id y buscas ese id en students.

Ejemplo resuelto: sigue el enlace

Pedidostudent_idBuscas ese id en studentsQuién lo pidió
1: bocadillo2El id 2 es Iker MoraIker Mora
2: zumo1El id 1 es Marta GilMarta Gil
3: zumo2El id 2 es Iker MoraIker Mora
4: tostada2El id 2 es Iker MoraIker Mora
5: bocadillo3El id 3 es Nora VidalNora Vidal

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Repaso rápido: sigue el enlace

Inténtalo

Repaso rápido: sigue el enlace

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

8 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.