FMNotas técnicasPortfolio
Volver al blog

Desarrollo backend · Intermedio

Modelado de bases de datos y diagramas ER

Una base sana empieza con el lenguaje del negocio. Las tablas llegan después de entender entidades, identidades y relaciones.

Al terminar esta nota
  • Identificar entidades
  • Modelar cardinalidad
  • Evitar duplicación innecesaria
01 / 03

De sustantivos a entidades

Cliente, pedido y producto pueden ser entidades. Dirección quizá sea un atributo o una entidad: depende de si tiene identidad y comportamiento propio.

  • Clave primaria: identidad estable.
  • Clave foránea: relación explícita.
  • Cardinalidad: uno a uno, uno a muchos o muchos a muchos.
02 / 03

Una relación muchos a muchos

Un pedido tiene muchos productos y un producto aparece en muchos pedidos. La tabla intermedia guarda además cantidad y precio histórico.

sql
CREATE TABLE order_items (
  order_id UUID REFERENCES orders(id),
  product_id UUID REFERENCES products(id),
  quantity INTEGER NOT NULL CHECK (quantity > 0),
  unit_price NUMERIC(12, 2) NOT NULL,
  PRIMARY KEY (order_id, product_id)
);
03 / 03

Normalizar con criterio

Normalizar reduce contradicciones. Desnormalizar puede acelerar lecturas conocidas. La decisión debe estar respaldada por un caso real y una estrategia de consistencia.

Modelo de relaciones● interactivo
USERORDERITEMPRODUCT
Para practicar

Modelá un dominio

Diseñá entidades y relaciones para cursos, estudiantes e inscripciones con fecha y estado.

Mostrar una pista

La inscripción es la relación muchos a muchos y tiene datos propios.