Accueil Bases de données Qu'est-ce qu'une clé étrangère? - définition de techopedia

Qu'est-ce qu'une clé étrangère? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie la clé étrangère?

Une clé étrangère est une colonne ou un groupe de colonnes dans une table de base de données relationnelle qui fournit un lien entre les données de deux tables. Il sert de référence croisée entre les tables car il fait référence à la clé primaire d'une autre table, établissant ainsi un lien entre elles.

La majorité des tables d'un système de base de données relationnelle adhèrent au concept de clé étrangère. Dans les bases de données et les entrepôts de données complexes, les données d'un domaine doivent être ajoutées sur plusieurs tables, maintenant ainsi une relation entre elles. Le concept d'intégrité référentielle est dérivé de la théorie des clés étrangères.

Les clés étrangères et leur implémentation sont plus complexes que les clés primaires.

Techopedia explique la clé étrangère

Pour toute colonne faisant office de clé étrangère, une valeur correspondante doit exister dans la table des liens. Une attention particulière doit être apportée lors de l'insertion et de la suppression de données de la colonne de clé étrangère, car une suppression ou une insertion négligente pourrait détruire la relation entre les deux tables.

Par exemple, s'il existe deux tables, client et commande, une relation peut être créée entre elles en introduisant une clé étrangère dans la table de commande qui fait référence à l'ID client dans la table client. La colonne ID client existe dans les tables client et commande. L'ID client dans la table de commande devient la clé étrangère, se référant à la clé primaire dans la table client. Pour insérer une entrée dans la table de commande, la contrainte de clé étrangère doit être satisfaite. Une tentative de saisie d'un ID client qui n'est pas présent dans la table client échoue, ce qui maintient l'intégrité référentielle de la table.

Certaines actions référentielles associées à une action de clé étrangère sont les suivantes:

  • Cascade: lorsque des lignes de la table parent sont supprimées, les colonnes de clé étrangère correspondantes de la table enfant sont également supprimées, créant une suppression en cascade.
  • Set Null: Lorsqu'une ligne référencée dans la table parent est supprimée ou mise à jour, les valeurs de clé étrangère dans la ligne de référence sont définies sur null pour maintenir l'intégrité référentielle.
  • Déclencheurs: les actions référentielles sont normalement implémentées en tant que déclencheurs. À bien des égards, les actions de clé étrangère sont similaires aux déclencheurs définis par l'utilisateur. Pour garantir une exécution correcte, les actions référentielles ordonnées sont parfois remplacées par leurs déclencheurs définis par l'utilisateur équivalents.
  • Définir par défaut: cette action référentielle est similaire à "définir null". Les valeurs de clé étrangère dans la table enfant sont définies sur la valeur de colonne par défaut lorsque la ligne référencée dans la table parent est supprimée ou mise à jour.
  • Restreindre: il s'agit de l'action référentielle normale associée à une clé étrangère. Une valeur dans la table parent ne peut pas être supprimée ou mise à jour tant qu'elle est référencée par une clé étrangère dans une autre table.
  • Aucune action: cette action référentielle est similaire en fonction à l'action "restreindre", sauf qu'une vérification sans action n'est effectuée qu'après avoir tenté de modifier la table.
Qu'est-ce qu'une clé étrangère? - définition de techopedia