Foreign Key
Chave Estrangeira
Uma chave estrangeira é uma regra de banco de dados. Ela faz uma coluna apontar para uma chave válida na mesma tabela ou em outra tabela. `null` segue a regra escolhida para essa coluna.
Outro exemplo
Cada `invoice_line.invoice_id` deve apontar para uma fatura existente. Excluir um rascunho também exclui suas linhas, mas uma fatura lançada não pode ser excluída e precisa de um processo de estorno. Importações em massa mantêm linhas incorretas de lado em vez de desativar a chave estrangeira para sempre.
Partes principais
- 01Colunas de referência
- 02Chave candidata referenciada
- 03Ação de atualizar/excluir
Use-o quando
Use uma chave estrangeira quando um relacionamento de banco de dados nunca deve apontar para um pai ausente. Escolha suas ações de atualização e exclusão com cuidado.
Não o use quando
Sob concorrência, não confie apenas nas verificações do aplicativo. Antes que a exclusão em cascata atravesse um limite, revise a retenção de dados e as responsabilidades de auditoria.
Nome usado no código
FOREIGN KEY (…) REFERENCES … ON UPDATE/DELETE … Antes de lançar
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 Chave Estrangeira (Foreign Key). User context: Cada `invoice_line.invoice_id` deve apontar para uma fatura existente. Excluir um rascunho também exclui suas linhas, mas uma fatura lançada não pode ser excluída e precisa de um processo de estorno. Importações em massa mantêm linhas incorretas de lado em vez de desativar a chave estrangeira para sempre. Technical concept or control: Chave Estrangeira (Foreign Key). Why it fits: Use uma chave estrangeira quando um relacionamento de banco de dados nunca deve apontar para um pai ausente. Escolha suas ações de atualização e exclusão com cuidado. Do not use it when: Sob concorrência, não confie apenas nas verificações do aplicativo. Antes que a exclusão em cascata atravesse um limite, revise a retenção de dados e as responsabilidades de auditoria. 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): É oficial para essa fonte. Outras plataformas ou equipes podem usar o termo de outra maneira. 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.
Conferir este pedido
Review how Chave Estrangeira (Foreign Key) is used now. Definition: Uma chave estrangeira é uma regra de banco de dados. Ela faz uma coluna apontar para uma chave válida na mesma tabela ou em outra tabela. `null` segue a regra escolhida para essa coluna. 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.