Foreign Key
Clé étrangère
Une clé étrangère est une règle de base de données. Elle fait pointer une colonne vers une clé valide dans la même table ou dans une autre. `null` suit la règle choisie pour cette colonne.
Un autre exemple
Chaque `invoice_line.invoice_id` doit pointer vers une facture existante. La suppression d'un brouillon supprime également ses lignes, mais une facture publiée ne peut pas être supprimée et nécessite un processus d'annulation. Les imports en masse mettent de côté les lignes incorrectes au lieu de désactiver la clé étrangère de manière permanente.
Parties principales
- 01Colonnes référencées
- 02Clé candidate référencée
- 03action de mise à jour/suppression
Utilisez-le lorsque
Utilisez une clé étrangère lorsqu’une relation de base de données ne doit jamais pointer vers un parent manquant. Choisissez ses actions de mise à jour et de suppression avec soin.
Ne l'utilisez pas lorsque
En cas de concurrence, ne vous fiez pas uniquement aux vérifications de l'application. Avant qu'une suppression en cascade ne franchisse une limite, examinez la conservation des données et les obligations d'audit.
Nom utilisé dans le code
FOREIGN KEY (…) REFERENCES … ON UPDATE/DELETE … Avant d'expédier
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 Clé étrangère (Foreign Key). User context: Chaque `invoice_line.invoice_id` doit pointer vers une facture existante. La suppression d'un brouillon supprime également ses lignes, mais une facture publiée ne peut pas être supprimée et nécessite un processus d'annulation. Les imports en masse mettent de côté les lignes incorrectes au lieu de désactiver la clé étrangère de manière permanente. Technical concept or control: Clé étrangère (Foreign Key). Why it fits: Utilisez une clé étrangère lorsqu’une relation de base de données ne doit jamais pointer vers un parent manquant. Choisissez ses actions de mise à jour et de suppression avec soin. Do not use it when: En cas de concurrence, ne vous fiez pas uniquement aux vérifications de l'application. Avant qu'une suppression en cascade ne franchisse une limite, examinez la conservation des données et les obligations d'audit. 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): C'est officiel pour cette source. D'autres plateformes ou équipes peuvent utiliser le terme d'une autre manière. 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.
Vérifiez cette demande
Review how Clé étrangère (Foreign Key) is used now. Definition: Une clé étrangère est une règle de base de données. Elle fait pointer une colonne vers une clé valide dans la même table ou dans une autre. `null` suit la règle choisie pour cette colonne. 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.