Clef étrangère

Clef étrangère

Clé étrangère

Une clé étrangère, dans une base de données relationnelle, est une contrainte qui garantit l'intégrité référentielle entre deux tables.

Une clé étrangère identifie une colonne ou un ensemble de colonnes d'une table comme référençant une colonne ou un ensemble de colonnes d'une autre table (la table référencée). Les colonnes de la table référencée doivent faire partie d'une contrainte de clé primaire ou d'une contrainte d'unicité. La contrainte de clé étrangère garantit que les valeurs de chaque ligne de la table référençant existent dans la table référencée : ainsi une ligne de la table référençant ne peut pas contenir un ensemble de valeurs qui n'existe pas dans la table référencée.

Une contrainte de clé étrangère permet ainsi d'établir des liens entre plusieurs tables : il s'agit d'un des principes fondamentaux des bases de données relationnelles.

Exemple

Soit une base de données, composée de deux tables : la table objet qui contient une liste d'objets d'un inventaire, et la table categorie, qui contient les catégories d'objet :

objet (id_objet, id_categorie, nom_objet)
categorie (id_categorie, nom_categorie)

En définissant des clés primaires sur les colonnes id_objet de la table objet et id_categorie de la table categorie et une clé étrangère sur la colonne id_categorie sur la table objet référençant la colonne id_categorie de la table categorie :

  • on ne peut pas insérer une ligne dans la table objet avec un id de catégorie qui n'existe pas dans la table categorie ;
  • on ne peut pas supprimer une ligne de la table categorie si au moins une ligne de la table objet a une valeur d'id de catégorie correspondant à la ligne à supprimer.

Prise en charge

La contrainte de clé étrangère est gérée par la plupart des bases de données : Oracle, Microsoft SQL Server, PostgreSQL, etc.

Sur MySQL, il faut utiliser le moteur InnoDB pour obtenir cette fonctionnalité. Actuellement le moteur MyISAM ne gère pas les clés étrangères[1].

Notes et références

  • Portail des bases de données Portail des bases de données
Ce document provient de « Cl%C3%A9 %C3%A9trang%C3%A8re ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Clef étrangère de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Clef — Clé Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Clef primaire — Clé primaire Dans une base de données relationnelle, une clé primaire est une contrainte d unicité qui permet d identifier de manière unique un enregistrement dans une table. Une clé primaire peut être composée d un ou de plusieurs champs de la… …   Wikipédia en Français

  • Politique etrangere de la Papouasie-Nouvelle-Guinee — Politique étrangère de la Papouasie Nouvelle Guinée Papouasie Nouvelle Guinée Cet article fait partie de la série sur la politique de la Papouasie Nouvelle Guinée, sous série sur la politique …   Wikipédia en Français

  • Politique étrangère de la Papouasie-Nouvelle-Guinée — Papouasie Nouvelle Guinée Cet article fait partie de la série sur la politique de la Papouasie Nouvelle Guinée, sous série sur la politique …   Wikipédia en Français

  • Base De Données Relationnelle — Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle …   Wikipédia en Français

  • Base de donnees relationnelle — Base de données relationnelle Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les… …   Wikipédia en Français

  • Base de données relationnel — Base de données relationnelle Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les… …   Wikipédia en Français

  • Base de données relationnelles — Base de données relationnelle Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les… …   Wikipédia en Français

  • Bases de données relationnelles — Base de données relationnelle Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les… …   Wikipédia en Français

  • RDBMS — Base de données relationnelle Système de gestion de Base de données Modèles: Base de données hiérarchique Base de données réseau Base de données relationnelle Une base de données relationnelle est une base de données structurée suivant les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”