- Identificar entidades
- Modelar cardinalidad
- Evitar duplicación innecesaria
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.
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.
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)
);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.
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.