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.
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é :
- Super Key
- Clé primaire
- Clé du candidat
- Clé alternative
- Clé étrangère
- Clé composée
- Clé composite
- 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 | |
|---|---|---|---|---|
| 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 | |
|---|---|---|---|---|
| 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 | |
|---|---|---|---|---|
| 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é é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. |

