Modelo relacional y entidad-relación

Define entidades, atributos, claves y relaciones para diseñar una base de datos limpia antes de escribir SQL.

El modelado es la parte que más dinero ahorra a medio plazo: si diseñas mal al inicio, cada nueva funcionalidad duele más.

Vamos a transformar requisitos de negocio en tablas coherentes con claves primarias/foráneas y relaciones bien pensadas.

Si después quieres ejecutar consultas de verdad, sigue con <a href="/curso/bbdd/leccion/bbdd-sql-fundamentos-basico">SQL fundamentos</a>.

  • Identifica objetos del dominio y su identidad única.
  • Si en un ecommerce hablas de clientes, pedidos y productos, esas suelen ser entidades base. Cada una necesita clave primaria estable.
  • Evita meter todo en una sola tabla por rapidez inicial; te explotará en reportes, validaciones y duplicidad de datos.
  • Modelar bien relaciones evita datos huérfanos y queries imposibles.
  • Un cliente puede tener muchos pedidos (1:N). Productos y pedidos suelen ser N:M, resuelto con tabla intermedia (pedido_items).

De requisito a entidad

Identifica objetos del dominio y su identidad única.

Si en un ecommerce hablas de clientes, pedidos y productos, esas suelen ser entidades base. Cada una necesita clave primaria estable.

Evita meter todo en una sola tabla por rapidez inicial; te explotará en reportes, validaciones y duplicidad de datos.

Relaciones 1:N y N:M

Modelar bien relaciones evita datos huérfanos y queries imposibles.

Un cliente puede tener muchos pedidos (1:N). Productos y pedidos suelen ser N:M, resuelto con tabla intermedia (pedido_items).

Una foreign key no es solo sintaxis: es regla de integridad del negocio.

Bases de datos
02

Modelo relacional y entidad-relación

Define entidades, atributos, claves y relaciones para diseñar una base de datos limpia antes de escribir SQL.

Código del tema: Modelo relacional + consultas SQL

📘 Teoría

De requisito a entidad

Identifica objetos del dominio y su identidad única.

1

Si en un ecommerce hablas de clientes, pedidos y productos, esas suelen ser entidades base. Cada una necesita clave primaria estable.

2

Evita meter todo en una sola tabla por rapidez inicial; te explotará en reportes, validaciones y duplicidad de datos.

Tabla base de clientes
CREATE TABLE clientes (
  id INT PRIMARY KEY AUTO_INCREMENT,
  nombre VARCHAR(120) NOT NULL,
  email VARCHAR(190) UNIQUE NOT NULL
);

Relaciones 1:N y N:M

Modelar bien relaciones evita datos huérfanos y queries imposibles.

1

Un cliente puede tener muchos pedidos (1:N). Productos y pedidos suelen ser N:M, resuelto con tabla intermedia (pedido_items).

2

Una foreign key no es solo sintaxis: es regla de integridad del negocio.

🧪 Aprende probando

Ejemplo Ejemplo guiado: tabla clientes Define estructura mínima con PK y UNIQUE.
Ejemplo Ejemplo guiado: relación clientes-pedidos Crea FK para reflejar 1:N.
Ejemplo Demo: esquema mínimo ecommerce Base para seguir en SQL y joins.

🏁 Retos

Reto Reto: añade clave primaria Completa la PK en tabla categorias.
Reto Reto: crea foreign key Relaciona pedidos con clientes.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre Bases de datos.

Test de Bases de datos

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .