Clé étrangère

Auteur: John Stephens
Date De Création: 24 Janvier 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
Clé étrangère - La Technologie
Clé étrangère - La Technologie

Contenu

Définition - Que signifie 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 agit comme une référence croisée entre les tables car il 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 à plusieurs tables, ce qui permet de maintenir une relation entre elles. Le concept d'intégrité référentielle découle de la théorie de la clé étrangère.

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

Introduction à Microsoft Azure et au nuage Microsoft | Tout au long de ce guide, vous apprendrez ce qu'est le cloud computing et comment Microsoft Azure peut vous aider à migrer et à exploiter votre entreprise à partir du cloud.

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 des clients. La colonne d'identifiant client existe dans les tables client et commande. L'ID client de la table de commande devient la clé étrangère, en référence à la clé primaire de la table de client. Pour insérer une entrée dans la table des commandes, la contrainte de clé étrangère doit être satisfaite. Une tentative d'entrer un ID client qui n'est pas présent dans la table client échoue, maintenant ainsi 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, ce qui crée une suppression en cascade.
  • Set Null: lorsqu'une ligne référencée de la table parent est supprimée ou mise à jour, les valeurs de clé étrangère de la ligne référençante sont définies sur null pour préserver 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 assurer une exécution correcte, les actions référentielles ordonnées sont parfois remplacées par leurs déclencheurs équivalents définis par l'utilisateur.
  • 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 de la table parent ne peut être ni supprimée ni mise à jour tant qu'elle est référée par une clé étrangère dans une autre table.
  • Aucune action: cette action référentielle a une fonction similaire à l'action "restreindre", à l'exception du fait qu'une vérification sans action est effectuée uniquement après avoir tenté de modifier la table.