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 de garantir le lien entre plusieurs tables, la création du lien se faisant dès lors que le champ existe (la clef étrangère) sans contrainte de clef étrangère : il s'agit d'un des principes fondamentaux des bases de données relationnelles.
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.
La contrainte de clé étrangère est gérée par la plupart des bases de données : Oracle, Microsoft SQL Server, PostgreSQL, MariaDB, 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.
Clé
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
En théorie des bases de données relationnelles, une dépendance fonctionnelle est une contrainte entre deux ensembles d'attributs dans une relation (table) d'une base de données. Dans une relation R, on dit qu'il y a dépendance fonctionnelle entre un ensemble d'attributs A et un ensemble d'attributs B, ou que l'ensemble A d'attributs détermine l'ensemble B d'attributs (et on écrit A→B) si quand deux n-uplets coïncident sur leurs attributs A, alors ils coïncident aussi sur leurs attributs B.
Dans le domaine des bases de données, une clé candidate est un ensemble des données permettant d'indexer chaque ligne d'une table donnée de manière différenciée. Une même base de données peut posséder plusieurs clés candidates distinctes. La clé primaire appartient nécessairement à l'ensemble des clés candidates. Une table sans lignes en doublon possède nécessairement une ou plusieurs clés candidates. Une table avec des lignes en doublon ne possède aucune clé candidate.
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é.
Explore la synthèse automatique de la synchronisation correcte et efficace dans les programmes, en mettant l'accent sur la suppression de l'atomicité redondante et l'ajout de métadonnées de synchronisation.
Introduit le modèle relationnel, SQL, les clés, les contraintes d'intégrité, la traduction ER, les entités faibles, les hiérarchies ISA et SQL vs. noSQL.
Organisé en deux parties, ce cours présente les bases théoriques et pratiques des systèmes d’information géographique, ne nécessitant pas de connaissances préalables en informatique. En suivant cette
Organisé en deux parties, ce cours présente les bases théoriques et pratiques des systèmes d’information géographique, ne nécessitant pas de connaissances préalables en informatique. En suivant cette
Organisé en deux parties, ce cours présente les bases théoriques et pratiques des systèmes d’information géographique, ne nécessitant pas de connaissances préalables en informatique. En suivant cette
This advanced course will provide students with the knowledge to tackle the design of privacy-preserving ICT systems. Students will learn about existing technologies to prect privacy, and how to evalu
This hands-on course teaches the tools & methods used by data scientists, from researching solutions to scaling up
prototypes to Spark clusters. It exposes the students to the entire data science pipe
This course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and op