Foreign Key
Clave foránea
Una clave foránea es una regla de base de datos. Hace que una columna apunte a una clave válida en la misma u otra tabla. `null` sigue la regla elegida para esa columna.
Otro ejemplo
Cada `invoice_line.invoice_id` debe apuntar a una factura existente. Eliminar un borrador también elimina sus líneas, pero una factura contabilizada no puede ser eliminada y requiere un proceso de reversión. Las importaciones masivas apartan las filas incorrectas en lugar de desactivar la clave externa para siempre.
Partes principales
- 01Columnas que hacen referencia
- 02Clave candidata referenciada
- 03Acción de actualización/eliminación
Úsalo cuando
Usa una clave foránea cuando una relación de base de datos nunca deba apuntar a un padre ausente. Elige sus acciones de actualización y eliminación con cuidado.
No lo uses cuando
Bajo concurrencia, no confíe solo en las verificaciones de la aplicación. Antes de que la eliminación en cascada cruce un límite, revise las obligaciones de retención de datos y auditoría.
Nombre usado en código
FOREIGN KEY (…) REFERENCES … ON UPDATE/DELETE … Antes de lanzarlo
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Clave foránea (Foreign Key). User context: Cada `invoice_line.invoice_id` debe apuntar a una factura existente. Eliminar un borrador también elimina sus líneas, pero una factura contabilizada no puede ser eliminada y requiere un proceso de reversión. Las importaciones masivas apartan las filas incorrectas en lugar de desactivar la clave externa para siempre. Technical concept or control: Clave foránea (Foreign Key). Why it fits: Usa una clave foránea cuando una relación de base de datos nunca deba apuntar a un padre ausente. Elige sus acciones de actualización y eliminación con cuidado. Do not use it when: Bajo concurrencia, no confíe solo en las verificaciones de la aplicación. Antes de que la eliminación en cascada cruce un límite, revise las obligaciones de retención de datos y auditoría. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Es oficial para esa fuente. Otras plataformas o equipos pueden usar el término de otra manera. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Revisa esta petición
Review how Clave foránea (Foreign Key) is used now. Definition: Una clave foránea es una regla de base de datos. Hace que una columna apunte a una clave válida en la misma u otra tabla. `null` sigue la regla elegida para esa columna. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.