Diseña el esquema de una tienda online simple (clientes, productos, pedidos).
Respuesta
customers(id PK, email UNIQUE, name, created_at)products(id PK, sku UNIQUE, name, price_cents, stock)orders(id PK, customer_id FK, status, total_cents, created_at)order_items(order_id FK, product_id FK, quantity, unit_price_cents, PK(order_id, product_id)): copia el precio en el momento de la compra.- El dinero como céntimos enteros o DECIMAL, nunca float.
- Índices:
orders(customer_id, created_at) y las foreign keys. - Descuenta el stock en una transacción con una comprobación (
UPDATE ... WHERE stock >= qty) para evitar vender de más. - Menciona soft deletes, timestamps y el estado como enum o máquina de estados.
Practica esta pregunta en Repaso