7 types de clés dans le SGBD expliqués

Publié: 2021-03-12

Table des matières

Quelles sont les clés dans le SGBD ?

Une clé dans le SGBD est un attribut ou un ensemble d'attributs qui aident à identifier de manière unique un tuple (ou une ligne) dans une relation (ou une table). Les clés sont également utilisées pour établir des relations entre les différentes tables et colonnes d'une base de données relationnelle. Les valeurs individuelles d'une clé sont appelées valeurs de clé.

Ce blog couvrira tout ce que vous devez savoir sur les clés dans le SGBD et la fermeture des attributs à trouver la clé de n'importe quelle relation (table). Restez jusqu'à la fin de l'article pour quelques questions critiques de GATE sur les clés dans le SGBD.

Pourquoi les clés sont-elles nécessaires ?

Une clé est utilisée dans les définitions de divers types de contraintes d'intégrité. Une table dans une base de données représente une collection d'enregistrements ou d'événements pour une relation particulière. Aujourd'hui, il peut y avoir des milliers et des milliers d'enregistrements de ce type, dont certains peuvent être dupliqués.

Il devrait y avoir un moyen d'identifier chaque enregistrement séparément et de manière unique, c'est-à-dire sans doublons. Les clés nous permettent de nous libérer de ce tracas.

Prenons un exemple concret de la base de données de chaque étudiant étudiant dans une école d'ingénieurs.

Selon vous, quel attribut de l'élève identifiera de manière unique chacun d'eux ? Vous pouvez faire référence à un étudiant en utilisant son nom, son département, son année et sa section. Ou, vous pouvez mentionner uniquement le numéro de matricule universitaire de l'étudiant, et vous pouvez obtenir tous les autres détails à partir de cela.

Une clé peut être soit une combinaison de plusieurs attributs (ou colonnes), soit un seul attribut. Le motif principal est de donner à chaque enregistrement une identité unique .

A lire aussi : SGBD vs RDBMS

Types de clés dans le SGBD

Il existe globalement sept types de clés dans le SGBD :

  1. Clé primaire
  2. Clé du candidat
  3. Super Clé
  4. Clé étrangère
  5. Clé composée
  6. Clé alternative
  7. Clé unique

Regardons chacun d'eux séparément.

1. Clé primaire

Une clé primaire est une colonne d'une table ou un ensemble de colonnes qui permet d'identifier de manière unique chaque enregistrement présent dans cette table. Il ne peut y avoir qu'une seule clé primaire dans une table. De plus, la clé primaire ne peut pas avoir les mêmes valeurs répétées pour n'importe quelle ligne. Chaque valeur de la clé primaire doit être différente sans répétitions.

La contrainte PRIMARY KEY (PK) placée sur une colonne ou un ensemble de colonnes ne leur permettra pas d'avoir des valeurs nulles ou des doublons. Une table ne peut avoir qu'une seule contrainte de clé primaire. Toute valeur de la clé primaire ne peut pas être modifiée par les clés étrangères (expliquées ci-dessous) qui s'y réfèrent.

2. Super Clé

Super Key est l'ensemble de toutes les clés qui aident à identifier de manière unique les lignes d'une table. Cela signifie que toutes les colonnes d'une table capables d'identifier les autres colonnes de cette table de manière unique seront toutes considérées comme des super clés.

La super clé est le surensemble d'une clé candidate (expliquée ci-dessous). La clé primaire d'une table est choisie dans l'ensemble de super clés pour devenir l'attribut d'identité de la table.

3. Clé du candidat

Les clés candidates sont les attributs qui identifient de manière unique les lignes d'une table. La clé primaire d'une table est sélectionnée parmi l'une des clés candidates. Ainsi, les clés candidates ont les mêmes propriétés que les clés primaires expliquées ci-dessus. Il peut y avoir plusieurs clés candidates dans une table.

4. Clé alternative

Comme indiqué ci-dessus, une table peut avoir plusieurs choix pour une clé primaire ; cependant, il ne peut en choisir qu'un. Ainsi, toutes les clés qui ne sont pas devenues la clé primaire sont appelées clés alternatives.

5. Clé étrangère

La clé étrangère est utilisée pour établir des relations entre deux tables. Une clé étrangère exigera que chaque valeur d'une colonne ou d'un ensemble de colonnes corresponde à la clé primaire de la table référentielle. Les clés étrangères aident à maintenir les données et l'intégrité référentielle.

6. Clé composée

La clé composite est un ensemble de deux ou plusieurs attributs qui aident à identifier chaque tuple dans une table de manière unique. Les attributs de l'ensemble peuvent ne pas être uniques lorsqu'ils sont considérés séparément. Cependant, pris tous ensemble, ils assureront l'unicité.

7. Clé unique

La clé unique est une colonne ou un ensemble de colonnes qui identifient de manière unique chaque enregistrement dans une table. Toutes les valeurs devront être uniques dans cette clé. Une clé unique diffère d'une clé primaire car elle ne peut avoir qu'une seule valeur nulle, alors qu'une clé primaire ne peut pas avoir de valeurs nulles.

Dépendances fonctionnelles

Maintenant que nous connaissons un autre type de clés dans le SGBD, voyons comment les identifier lorsqu'on leur donne une table d'une base de données. Pour cela, nous utilisons le concept de dépendances fonctionnelles.

Une dépendance fonctionnelle (FD) est une contrainte entre deux ensembles d'attributs. Cette contrainte est pour deux tuples quelconques t1 et t2 dans r si t1[X] = t2[X], alors ils ont t1[Y] = t2[Y]. Cela signifie que la valeur du composant X d'un tuple détermine de manière unique la valeur du composant Y.

FD est noté X ? Y (cela se lit comme « Y dépend fonctionnellement de X »). Le côté gauche est appelé le déterminant et le côté droit est appelé le dépendant.

Clôture d'un ensemble d'Attributs

Une fermeture est un ensemble de toutes les DF possibles dérivées d'un ensemble donné de DF. Il est également appelé ensemble complet de DF. Si F est utilisé pour donner l'ensemble des DF pour la relation R, alors la clôture d'un ensemble de DF impliquée par F est notée F+ .

Nous allons maintenant définir la fermeture d'un ensemble d'attributs concernant un ensemble de DF donné. Cela aidera à identifier la super clé de la relation et à déterminer si un FD peut être déduit d'un ensemble donné de FD ou si un FD est redondant. Après avoir trouvé un ensemble de dépendances fonctionnelles sur une relation, l'étape suivante consiste à trouver la super clé pour cette relation (table).

Ensuite, nous découvrons la fermeture de l'ensemble des attributs pour décider si un attribut (ou un ensemble d'attributs) de n'importe quelle table est une clé pour cette table ou non. L' ensemble d'attributs qui dépendent fonctionnellement de l'attribut X est appelé Attribute Closure of X , et il peut être représenté par X+.

Voici quelques règles nécessaires pour déterminer F+ :

  1. Réflexivité : si X est un sur-ensemble de Y ou si Y est un sous-ensemble de X, alors X ? Y.
  2. Augmentation : Si X ? Y, puis XZ ? YZ. Ou Si Z ⊆W, et X ? Y, puis XW ? YZ.
  3. Transitivité : Si X ? Y et Y ? Z, puis X ? Z
  4. Syndicat : Si X ? Y et X ? Z, puis X ? YZ.
  5. Décomposition : Si X ? YZ, puis X ? Y et X ? Z
  6. Pseudo-Transitivité : Si X ? Y et YW ? Z, puis XW ? Z

Comment trouver les clés candidates et les super clés à l'aide de la fermeture d'attribut ?

  • Si la fermeture d'attribut d'un ensemble d'attributs contient tous les attributs de la relation, l'ensemble d'attributs sera la super clé de la relation.
  • Si aucun sous-ensemble de cet ensemble d'attributs ne peut déterminer fonctionnellement tous les attributs de relation, cet ensemble sera la clé candidate.

Discutons de quelques questions GATE précédemment posées pour voir les applications de la fermeture d'attribut.

PORTE 2014

Considérons le schéma relationnel R = {E, F, G, H, I, J, K, L, M, N} et l'ensemble des dépendances fonctionnelles {{E, F} ? {G}, {F} ? {Je, J}, {E, H} ? {K, L}, K ? {M}, L ? {N} sur R. Quelle est la clé pour R ?

(A) {E, F}

(B) {E, F, H}

(C) {E, F, H, K, L}

(D) {E}

Approche : Nous vérifierons la fermeture des attributs de toutes les options fournies. L'ensemble dont la fermeture nous donnera la relation entière R sera la bonne réponse.

A : {E, F} + = {EFGIJ} ≠ R

B : {E, F, H} + = {EFGHIJKLMN} = R

C : {E, F, H, K, L} + = {EFGHIJKLMN} = R

ré : {E} + = {E} ≠ R

Les deux options B et C nous donnent le schéma de relation complet. Cependant, nous choisissons l'option minimale comme étant la bonne réponse, car une clé candidate doit être la super clé minimale .

Répondre: B

PORTE 2013

La relation R a huit attributs ABCDEFGH. Les champs de R ne contiennent que des valeurs atomiques. F = {CH ? G, A ? BC, B ? CFH, E ? UN F ? EG} est un ensemble de dépendances fonctionnelles (FD) de sorte que F+ est exactement l'ensemble de FD qui s'applique à R.

Combien de clés candidates la relation R a-t-elle ?

(A) 3

(B) 4

(C) 5

(D) 6

Approche : Nous prendrons le LHS de chaque dépendance fonctionnelle donnée dans la question et trouverons leurs fermetures d'attributs.

CH+ = G

A+ = ABCEFGH

B+ = ABCEFGH

E+ = ABCEFGH

F+ = ABCEFGH

Nous voyons donc que les fermetures de A, B, E, F ont la relation entière à l'exception de l'attribut D. Il y a donc un total de 4 clés candidates AD, BD, ED et FD.

Réponse : B

Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Les clés et les dépendances fonctionnelles jouent un rôle très important dans la conception d'une base de données. Ces concepts aident également à trouver la différence entre une bonne et une mauvaise conception de base de données. Le processus final pour supprimer les redondances et rendre la base de données efficace est la normalisation , qui utilise tous les concepts mentionnés dans cet article.

Si vous souhaitez en savoir plus sur le développement full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement logiciel full-stack, qui est conçu pour les professionnels et offre plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Quels sont les différents types de clés dans le SGBD ?

Il existe plusieurs types de clés utilisées dans une base de données. La clé primaire est utilisée pour identifier une ligne spécifique dans une table. La clé unique est utilisée pour s'assurer qu'il n'y a qu'une seule entrée dans une table spécifique. Une clé étrangère est utilisée pour lier les entrées d'une table à une autre. Une clé composite est une collection de plusieurs colonnes dans une table qui, ensemble, sont utilisées pour identifier une ligne. Ces clés vous aident à identifier une colonne particulière d'une ligne d'un tableau de manière précise et unique. Par conséquent, il est très important d'utiliser les colonnes précises comme clé selon votre cas d'utilisation.

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

La clé étrangère est une colonne ou un ensemble de colonnes utilisé pour lier les lignes d'une table aux lignes d'une autre table. Il est utilisé pour éviter l'incohérence des données. Dans le SGBD, la clé étrangère est implémentée à l'aide d'une seule colonne ou d'un ensemble de colonnes (colonne logique) et le SGBD vérifie que les valeurs de ces colonnes correspondent aux valeurs des colonnes référencées (clé primaire). Par exemple, disons que la table A et la table B ont toutes deux une colonne appelée colonne A. Vous pouvez dire que la colonne A de la table A est référentielle à la colonne A de la table B. Cela peut être imaginé comme une flèche avec une valeur de clé étrangère pointant vers le tableau cible.

Qu'est-ce qu'une clé composite dans le SGBD ?

La clé composée est une super clé. C'est une combinaison d'une ou plusieurs colonnes. Il permet de construire une seule clé à partir d'une combinaison de différentes colonnes. Il est également appelé identifiant composite, clé composite ou clé composée. En bref, vous pouvez utiliser un ensemble de colonnes pour identifier une ligne unique dans votre tableau, au cas où vous n'auriez pas une seule colonne qui puisse identifier une ligne de manière unique. Dans un tel cas, l'ensemble de toutes les colonnes que vous utiliserez sera considéré comme une clé composée. Par conséquent, on peut dire à juste titre que si une clé primaire a plus d'une colonne, elle est renommée en clé composite.