Clé naturelle

Dans le domaine des bases de données, une clé naturelle est une clé (en général clé primaire) choisie parmi les clés candidates pour indexer une base.

Avantages

Les clés naturelles sont basées sur les données réelles comprises dans la base de données. Les clés naturelles sont la plupart du temps intuitives, par exemple pour indexer une table de données relative à des personnes, une clé naturelle pourrait être composée des champs nom/prénom.

Inconvénients

La clé naturelle est dépendante des données réelles ce qui peut poser plusieurs problème.

  • doublons: les données étant basées sur des faits réels il peut être difficile de s'assurer de l'unicité d'une clé donnée. Par exemple pour l'indexation par nom/prénom, dans une population de taille suffisante il n'est pas rare d'avoir plusieurs nom/prénom identiques. Le problème peut être contourné soit en ajoutant des données (par exemple ajouter la date de naissance) ce qui diminue le risque de doublon (mais ne l'annule pas et complexifie le système), soit en mettant en place des règles de gestion spécifique au moment de la saisie (ce qui dénature les données et/ou complexifie le système)
  • instabilité des données: les données étant liées à des faits réels elles sont susceptibles d'évoluer dans le temps, soit par ce que la donnée initiale se révèle fausse (erreur de recueil, erreur de saisie...), soit parce que la donnée sous-jacente change de nature (un nom peut changer à la suite d'un mariage, d'une adoption ou d'une demande administrative).

Le fait que ces modifications soit dépendantes du monde concret les rend très difficiles à anticiper. Chaque modification affecte l'index de la table et les jointures sur celui-ci.

Utilisation

Compte tenu des inconvénients et de l'incertitude sur l'évolution des clés, les clés naturelles sont peu utilisées et/ou pour l'essentiel réservées à des projets très simples ou à des exemples pédagogiques. De fait pour les projets d'envergure plus importante sont préférées des clés artificielles.

  • Portail de l’informatique
  • Portail des bases de données
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.