Clé é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


Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Cle etrangere — 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 …   Wikipédia en Français

  • 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… …   Wikipédia en Français

  • Cle 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

  • 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 table. Deux… …   Wikipédia en Français

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

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

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

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

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

  • 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 table. Deux… …   Wikipédia en Français

Share the article and excerpts

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