DevPath · Aprende a programar ESPTEN

Capstone: diseña y consulta una base de datos

El modelo de datos de la tienda

Una tienda online en cuatro tablas

Hasta ahora has trabajado con tablas sueltas. En una aplicación real los datos viven repartidos en varias tablas relacionadas para evitar repeticiones. Modelamos una tienda con cuatro:

clientes  (id, nombre, ciudad)
productos (id, nombre, precio)
pedidos   (id, cliente_id, fecha)
detalles  (id, pedido_id, producto_id, cantidad)

Relaciones (claves foráneas)

Una clave foránea es una columna que apunta al id de otra tabla. Así se conectan las filas entre tablas:

  clientes.id ──< pedidos.cliente_id        (un cliente tiene muchos pedidos)
   pedidos.id ──< detalles.pedido_id        (un pedido tiene muchas líneas)
 productos.id ──< detalles.producto_id      (un producto aparece en muchas líneas)

El símbolo ──< se lee "uno a muchos": un cliente puede tener muchos pedidos, pero cada pedido pertenece a un solo cliente.

La tabla detalles es la que une pedidos con productos: cada fila es una línea de pedido ("3 unidades del producto X dentro del pedido Y"). Por eso guarda cantidad ahí y no en pedidos ni en productos.

¿Por qué tantas tablas?

Esto es normalización: cada dato tiene un único lugar donde es la verdad.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
Plan de consultas: unir, agregar, comparar →