Trigger (BD)
Procedimiento de base de datos que se ejecuta automáticamente ante un INSERT/UPDATE/DELETE. Nivel BEFORE/AFTER + ROW/STATEMENT. Uso: registros de auditoría (quién cambió qué), desnormalización, columnas derivadas, reglas de negocio.
PostgreSQL: el trigger llama a una función (PL/pgSQL, PL/Python, etc). MySQL: cuerpo del trigger inline. Contrapartidas: los triggers esconden lógica — "¿por qué cambia esta columna?" no tiene respuesta en el código de la aplicación, hay que rebuscar en el esquema de la base de datos. Rendimiento: triggers pesados vuelven lentos hasta los UPDATE más simples. Alternativa moderna: CDC + un manejador del lado de la aplicación, para desacoplar. Antipatrón clásico: un trigger que dispara otro UPDATE que a su vez dispara otro trigger → explosión recursiva. Buena práctica actual: evitar triggers para lógica de negocio, aceptables para rastros de auditoría.