Clés SGBD : types candidat, primaire, super et étranger

⚡ Résumé intelligent

Dans un SGBD, les clés sont des attributs qui identifient de manière unique une ligne dans une table et établissent des relations entre les tables. Huit types de clés, de la super-clé à la clé primaire, en passant par les clés étrangères et de substitution, garantissent l'identité et l'intégrité des données au sein d'une base de données relationnelle.

  • 🇧🇷 Objectif principal : Une clé identifie une ligne unique et relie les tables associées afin de garantir la cohérence des données.
  • 🔝 Clé principale : Tout ensemble d'attributs permettant d'identifier les lignes, éventuellement avec des attributs supplémentaires au-delà du minimum requis.
  • ⭐ Clé primaire: La clé candidate choisie, jamais nulle et jamais dupliquée, une par table.
  • (I.e. Clé du candidat : Une super-clé minimale sans attribut redondant ; la clé primaire est choisie parmi celles-ci.
  • (I.e. Clé alternative : Toute clé candidate non sélectionnée comme clé primaire.
  • 🔗 Clé étrangère: Une colonne faisant référence à la clé primaire d'une autre table afin de garantir l'intégrité référentielle.
  • 🧩 Composite et substitut : Les clés composites combinent des colonnes pour garantir leur unicité ; une clé de substitution est une clé générée de manière interchangeable.

Clés du SGBD candidates super primaires

Que sont les clés dans un SGBD ?

Clés dans un SGBD Les clés sont un attribut ou un ensemble d'attributs permettant d'identifier une ligne (tuple) dans une relation (table). Elles permettent de déterminer la relation entre deux tables. Les clés permettent d'identifier de manière unique une ligne dans une table grâce à la combinaison d'une ou plusieurs colonnes, et sont également utiles pour retrouver un enregistrement unique dans la table.

Exemple :

ID de l'employé Prénom Nom de famille
11 Andrew Johnson
22 Tom Le bois
33 Alex Vigoureux

Dans l'exemple ci-dessus, l'identifiant de l'employé est une clé primaire car il identifie de manière unique chaque employé. Dans cette table, aucun autre employé ne peut avoir le même identifiant.

Pourquoi avons-nous besoin d'une clé ?

Voici quelques raisons d'utiliser une clé dans un SGBD :

  • Les clés permettent d'identifier chaque ligne de données dans une table. Dans une application réelle, une table peut contenir des milliers d'enregistrements, parfois dupliqués. Les clés garantissent l'identification unique de chaque enregistrement malgré ces difficultés.
  • Elles permettent d'établir et d'identifier les relations entre les tables.
  • Ils vous aident à renforcer l'identité et l'intégrité au sein de la relation.

Types de clés dans un SGBD

Il existe principalement huit types de clés différents dans un SGBD, et chaque clé possède sa propre fonctionnalité :

  1. Super Key
  2. Clé primaire
  3. Clé du candidat
  4. Clé alternative
  5. Clé étrangère
  6. Clé composée
  7. Clé composite
  8. Clé de substitution

Le tableau ci-dessous résume les huit points en un coup d'œil avant que chacun ne soit expliqué en détail.

ACTIVITES En une seule ligne Unique?
Super Key Tout ensemble d'attributs permettant d'identifier une ligne, attributs supplémentaires autorisés Oui
Clé du candidat Une super clé minimale, aucun attribut redondant Oui
Clé primaire La clé candidate choisie, non nulle Oui
Clé alternative Une clé candidate non choisie comme clé principale Oui
Clé étrangère Fait référence à une clé primaire dans une autre table Non
Clé composée Deux attributs ou plus, chacun pouvant ne pas être unique Combiné
Clé composite Deux colonnes ou plus combinées pour garantir l'unicité Combiné
Clé de substitution Un identifiant artificiel généré Oui

Qu'est-ce qu'une Super Clé ?

Une super-clé est un groupe de clés simples ou multiples qui identifie les lignes d'une table. Une super-clé peut comporter des attributs supplémentaires qui ne sont pas nécessaires à l'identification unique.

Exemple :

EmpSSN Numéro Emp Nom de l'emp
9812345098 AB05 Montré
9876512345 AB06 Roslyn
199937890 AB07 James

Dans l'exemple ci-dessus, EmpSSN et EmpNum sont des super clés.

Qu'est-ce qu'une clé primaire ?

Clé principale in SGBD Une clé primaire est une colonne ou un groupe de colonnes d'une table qui identifie de manière unique chaque ligne de cette table. La clé primaire ne peut pas contenir de doublons ; autrement dit, une même valeur ne peut pas apparaître plus d'une fois dans la table. Une table ne peut pas avoir plusieurs clés primaires.

Règles de définition d'une clé primaire

  • Deux lignes ne peuvent pas avoir la même valeur de clé primaire.
  • Chaque ligne doit avoir une valeur de clé primaire.
  • Le champ de clé primaire ne peut pas être nul.
  • La valeur d'une colonne de clé primaire ne peut jamais être modifiée ou mise à jour si une clé étrangère fait référence à cette clé primaire.

Exemple : Dans l'exemple suivant, StudID est une clé primaire.

ID d'étalon Rouleau Non Prénom Nom de famille Email
1 11 Tom Tarifs et Prix abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Qu'est-ce qu'une clé alternative ?

ALTERNATIVE KEY Une clé primaire est une colonne ou un groupe de colonnes d'une table qui identifie de manière unique chaque ligne. Plusieurs clés primaires peuvent être envisagées, mais une seule peut être désignée comme telle. Toutes les autres clés sont appelées clés secondaires.

Exemple : Dans ce tableau, StudID, Roll No et Email peuvent constituer la clé primaire. Cependant, puisque StudID est la clé primaire, Roll No et Email deviennent les clés secondaires.

ID d'étalon Rouleau Non Prénom Nom de famille Email
1 11 Tom Tarifs et Prix abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Qu'est-ce qu'une clé de candidat ?

CLÉ CANDIDAT Une clé candidate est un ensemble d'attributs qui identifient de manière unique les tuples d'une table. Une clé candidate est une super-clé sans attributs répétés. La clé primaire doit être choisie parmi les clés candidates. Chaque table doit avoir au moins une clé candidate, et une table peut avoir plusieurs clés candidates, mais une seule clé primaire.

Propriétés d'une clé candidate :

  • Il doit contenir des valeurs uniques.
  • Une clé candidate peut avoir plusieurs attributs.
  • Il ne doit pas contenir de valeurs nulles.
  • Il doit contenir les champs minimums nécessaires pour garantir l'unicité.
  • Il identifie de manière unique chaque enregistrement d'une table.

Exemple : Dans le tableau ci-dessous, StudID, Roll No et Email sont des clés candidates qui nous permettent d’identifier de manière unique un dossier étudiant. Leur relation avec les super-clés et les clés primaires est une méthode courante pour comprendre dépendance fonctionnelle.

ID d'étalon Rouleau Non Prénom Nom de famille Email
1 11 Tom Tarifs et Prix abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com
Clé du candidat dans le SGBD
Clé du candidat dans le SGBD

Qu'est-ce qu'une clé étrangère ?

CLÉ ÉTRANGÈRE Une clé étrangère est une colonne qui établit une relation entre deux tables. Son rôle est de garantir l'intégrité des données et de permettre la navigation entre deux instances différentes d'une entité. Elle sert de référence croisée entre deux tables, puisqu'elle fait référence à la clé primaire de l'autre table.

Exemple :

DépartementCode NomDépartement
001 Science
002 Anglais
005 Ordinateur
ID d'enseignant Fnom Nom
B002 David Warner
B017 Sara Joseph
B009 Michel brunon

Dans cet exemple, nous avons deux tables, Enseignant et Département, dans une école. En l'état, il est impossible de savoir quel enseignant travaille dans quel département.

En ajoutant la clé étrangère DeptCode Dans la table des enseignants, nous pouvons créer une relation entre les deux tables.

ID d'enseignant DépartementCode Fnom Nom
B002 002 David Warner
B017 002 Sara Joseph
B009 001 Michel brunon

Ce concept est également connu sous le nom d’intégrité référentielle.

Qu'est-ce qu'une clé composée ?

CLÉ COMPOSÉE Une clé composée possède au moins deux attributs permettant d'identifier un enregistrement de manière unique. Il est possible que chaque colonne ne soit pas unique individuellement au sein de la base de données. Cependant, leur combinaison permet d'obtenir une clé unique. L'objectif de la clé composée est d'identifier de manière unique chaque enregistrement de la table.

Exemple :

N ° de commande ID de produit Nom du produit Quantité
B005 JAP102459 Souris 5
B005 DKT321573 USB 10
B005 OMG446789 Moniteur LCD 20
B004 DKT321573 USB 15
B002 OMG446789 Imprimante laser 3

Dans cet exemple, OrderNo et ProductID ne peuvent pas constituer chacun une clé primaire, car aucun des deux n'identifie un enregistrement de manière unique. Cependant, une clé composée de OrderNo et ProductID permet d'identifier chaque enregistrement de manière unique.

Qu'est-ce qu'une clé composée ?

CLÉ COMPOSITE Il s'agit d'une combinaison de deux colonnes ou plus permettant d'identifier de manière unique les lignes d'une table. La combinaison des colonnes garantit l'unicité, contrairement à l'unicité individuelle de chaque colonne. C'est pourquoi elles sont combinées pour identifier de manière unique les enregistrements d'une table.

La différence entre une clé composée et une clé composite réside dans le fait que n'importe quelle partie d'une clé composée peut être une clé étrangère, tandis qu'une clé composite peut ou non faire partie d'une clé étrangère.

Qu'est-ce qu'une clé de substitution ?

CLÉ DE SURROGATION Une clé de substitution est une clé artificielle qui vise à identifier chaque enregistrement de manière unique. Ce type de clé est unique car il est créé en l'absence de clé primaire naturelle. Les clés de substitution n'apportent aucune signification aux données de la table et sont généralement des entiers générés juste avant l'insertion de l'enregistrement.

Fnom Nom de famille Heure de début Heure de fin
Anne Smith 09:00 18:00
Jacques Francis 08:00 17:00
Anna McLean 11:00 20:00
Montré Guillaume 14:00 23:00

L'exemple ci-dessus illustre les horaires de travail de différents employés. Une clé de substitution est nécessaire pour identifier chaque employé de manière unique. SQL sont utilisés lorsque :

  • Aucune propriété ne possède le paramètre de clé primaire.
  • La clé primaire est trop longue ou trop complexe.

Différence entre clé primaire et clé étrangère

Voici la principale différence entre une clé primaire et une clé étrangère :

Clé primaire Clé étrangère
Permet d'identifier de manière unique un enregistrement dans la table. C'est un champ de la table qui est la clé primaire d'une autre table.
Une clé primaire n'accepte jamais les valeurs nulles. Une clé étrangère peut accepter plusieurs valeurs nulles.
La clé primaire est un index clusterisé, et les données de la table sont physiquement organisées selon la séquence de l'index clusterisé. Une clé étrangère ne peut pas créer automatiquement d'index, qu'il soit clusterisé ou non. Vous pouvez en créer un manuellement.
Une table ne peut avoir qu'une seule clé primaire. Vous pouvez avoir plusieurs clés étrangères dans une table.

FAQ

Chaque clé candidate peut identifier une ligne de manière unique. La clé primaire est la clé candidate sélectionnée par le concepteur ; les autres clés candidates deviennent des clés alternatives.

Les deux méthodes combinent des colonnes pour garantir l'unicité. Dans une clé composée, chaque colonne est elle-même une clé étrangère, tandis qu'une clé composite associe simplement deux attributs ou plus qui ne sont pas nécessairement des clés étrangères.

Utilisez une clé de substitution lorsqu'aucun attribut naturel n'est unique de manière fiable, ou lorsque la clé naturelle est longue ou susceptible de changer. Un entier généré reste stable et simplifie les jointures.

Oui. En analysant les colonnes selon leur unicité, leur taux de valeurs nulles et leur stabilité, l'IA peut présélectionner les clés candidates et suggérer une clé primaire ou une clé de substitution, laissant le choix final au concepteur.

Oui. Contrairement à une clé primaire, une clé étrangère peut contenir la valeur NULL, ce qui représente une ligne qui n'est associée à aucun enregistrement parent. Une clé étrangère non NULL doit correspondre à une clé primaire existante.

Résumez cet article avec :