Une clé primaire est un champ ou un ensemble de champs de table qui contient des valeurs uniques. Les valeurs de la clé peuvent être utilisées pour faire référence à des enregistrements entiers, car chaque enregistrement dispose d’une valeur différente pour la clé. Chaque table ne peut comprendre qu’une seule clé primaire. Access peut automatiquement créer un champ de clé primaire pour vous lorsque vous créez une table, ou vous pouvez spécifier les champs que vous souhaitez utiliser comme clé primaire. Cet article explique comment et pourquoi utiliser des clés primaires.
Pour définir la clé primaire d’une table, ouvrez la table en mode Création. Sélectionnez le ou les champs à utiliser, puis sur le ruban, cliquez sur Clé primaire.
Remarque : Cet article concerne uniquement les bases de données Access de bureau. Access gère automatiquement les clés primaires des nouvelles tables dans les applications Access Web App et les bases de données web. Bien qu’il soit possible de remplacer ces clés primaires automatisées, il est déconseillé de le faire.
Contenu de cet article
Vue d’ensemble des clés primaires dans Access
Access utilise les champs de clé primaire pour associer rapidement les données de plusieurs tables et les combiner de manière significative. Vous pouvez inclure les champs de la clé primaire dans d'autres tables pour faire référence à la table qui est la source de la clé primaire. Dans ces autres tables, les champs sont appelés clés étrangères. Par exemple, un champ ID client de la table Clients peut également s'afficher dans la table Commandes. Dans la table Clients, il s’agit de la clé primaire. Dans la table Commandes, il s’agit d’une clé étrangère. Une clé étrangère, en termes simples, est la clé primaire d'une autre table. Si vous voulez en savoir plus, consultez Informations de base sur la conception d’une base de données.
1. Clé primaire
2. Clé étrangère :
Si vous déplacez des données existantes dans une base de données, il est possible que vous ayez déjà un champ qui peut être utilisé comme clé primaire. Souvent, un numéro d’identification unique, comme une référence, un numéro de série ou un code, fait office de clé primaire dans une table. Par exemple, vous pouvez créer une table Clients où chaque client est associé à une référence client unique. Dans ce cas, le champ Réf client constitue la clé primaire.
Access crée automatiquement un index pour la clé primaire pour accélérer les requêtes et les autres opérations. En outre, il veille à ce que chaque enregistrement soit associé à une valeur dans le champ de clé primaire et à ce qu’il soit toujours unique.
Lorsque vous créez une table en mode Feuille de données, Access crée automatiquement une clé primaire pour vous en lui attribuant le nom de champ « ID » et le type de données NuméroAuto.
Qu’est-ce qu’une clé primaire appropriée ?
Une clé primaire appropriée doit présenter plusieurs caractéristiques :
-
elle identifie chaque ligne de façon unique ;.
-
elle n’est jamais vide ou Null (en d’autres termes, elle doit toujours contenir une valeur) ;
-
ses valeurs ne changent que rarement (de préférence, jamais).
Si vous ne parvenez pas à identifier une clé appropriée, créez un champ NuméroAuto à utiliser comme clé. Un champ NuméroAuto se génère automatiquement une valeur à la première sauvegarde de chaque enregistrement. Par conséquent, un champ NuméroAuto répond aux trois caractéristiques d’une clé primaire appropriée. Pour plus d’informations sur l’ajout d’un champ NuméroAuto, voir l’article Ajout d’un champ NuméroAuto comme clé primaire.
Un champ NuméroAuto constitue une clé primaire appropriée.
Exemples de mauvaises clés primaires
Tout champ auquel il manque l’une des caractéristiques d’une clé primaire appropriée est un mauvais choix. Voici quelques exemples de champs qui feraient des clés primaires non appropriées pour une table Contacts avec la raison pour laquelle elles le sont.
Clé primaire non appropriée |
Raison |
---|---|
Nom |
N’est pas forcément unique et peut changer. |
Numéro de téléphone |
Susceptible de changer. |
Adresse e-mail |
Susceptible de changer. |
Code postal |
Peut être partagé par plusieurs personnes. |
Combinaisons de faits et de numéros |
La partie factuelle peut changer, ce qui crée une charge de maintenance. Cela pourrait prêter à confusion si la partie factuelle est répétée en tant que champ distinct. Par exemple, combiner la ville et un nombre incrémenté (par exemple, NEWYORK0579) serait un mauvais choix si la ville est également stockée en tant que champ. |
Numéros de sécurité sociale |
|
Clés composites : utilisation de plusieurs champs combinés comme clé primaire
Dans certains cas, il peut être nécessaire d’utiliser deux ou plusieurs champs d’une table comme clé primaire. Par exemple, une table Détails de la commande qui stocke les articles des commandes peut utiliser deux champs dans sa clé primaire : Réf commande et Réf produit. Une clé composée de plusieurs champs est appelée une clé composite.
Définir la clé primaire à l’aide de champs déjà existants dans Access
Pour qu’une clé primaire puisse fonctionner correctement, le champ doit identifier chaque ligne de manière unique, ne peut jamais être vide ou contenir la valeur Null et ne doit changer que rarement (de préférence, jamais). Pour définir une clé primaire :
-
Ouvrez la base de données à modifier.
-
Dans le volet de navigation, cliquez avec le bouton droit sur la table dans laquelle vous souhaitez supprimer la clé primaire, puis cliquez sur Mode Création dans le menu contextuel.
Conseil : Si le volet de navigation n’est pas affiché, appuyez sur F11 pour l’afficher.
-
Sélectionnez le ou les champs à utiliser comme clé primaire.
Pour sélectionner un champ, cliquez sur le sélecteur de ligne correspondant.
Pour sélectionner plusieurs champs afin de créer une clé composite, appuyez sur la touche Ctrl tout en cliquant sur le sélecteur de ligne de chaque champ.
-
Sous l’onglet Création de table , dans le groupe Outils , cliquez sur Clé primaire.
Un indicateur de clé s’affiche à gauche du champ ou des champs spécifiés comme clé primaire.
Supprimer une clé primaire dans Access
Lors de la suppression de la clé primaire, les champs faisant office de clé primaire ne constituent plus le mode d’identification primaire d’un enregistrement.
La suppression de la clé primaire n’entraîne pas celle des champs de la table, mais celle de l’index créé pour cette clé primaire.
-
Avant de supprimer une clé primaire, vous devez vous assurer qu’elle ne fait pas partie d’une relation entre des tables. En effet, si vous tentez de supprimer une clé primaire qui fait partie d’une ou de plusieurs relations, Access signale que vous devez d’abord supprimer la relation.
Pour supprimer une relation entre des tables, procédez comme suit :-
Si les tables faisant partie de la relation entre les tables sont ouvertes, fermez-les. Il est en effet impossible de supprimer une relation entre des tables ouvertes.
-
Sous l’onglet Outils de base de données, dans le groupe Relations, cliquez sur Relations.
-
Sélectionnez Ajouter des tables.
-
Cliquez sur la ligne correspondant à la relation entre les tables à supprimer (la ligne s’affiche en gras lorsqu’elle est sélectionnée), puis appuyez sur la touche Suppr.
-
Sous l’onglet Création de relations , dans le groupe Relations , cliquez sur Fermer.
-
-
Après avoir supprimé les relations, dans le volet de navigation, cliquez avec le bouton droit sur la table à partir de laquelle vous souhaitez supprimer la clé primaire, puis cliquez sur Mode Création.
Conseil : Si le volet de navigation n’est pas affiché, appuyez sur F11 pour l’afficher.
-
Cliquez sur le sélecteur de ligne correspondant à la clé primaire active.
Si la clé primaire ne comporte qu’un seul champ, cliquez sur le sélecteur de ligne correspondant.
Si la clé primaire est constituée de plusieurs champs, cliquez sur le sélecteur de ligne correspondant à chaque champ de la clé primaire.
-
Sous l’onglet Création de table , dans le groupe Outils , cliquez sur Clé primaire.
L’indicateur de clé est alors supprimé des champs spécifiés comme clé primaire.
Remarque : Lorsque vous enregistrez une nouvelle table sans définir de clé primaire, Access vous demande d’en créer une. Si vous cliquez sur Oui, un champ ID associé au type de données NuméroAuto est créé pour fournir une valeur unique pour chaque enregistrement. Si la table contient déjà un champ NuméroAuto, Access l’utilise comme clé primaire.
Modifier la clé primaire dans Access
Pour modifier la clé primaire d’une table, procédez comme suit :
-
Supprimez la clé primaire existante en suivant les instructions fournies dans la section Supprimer la clé primaire.
-
Définissez la clé primaire en suivant les instructions fournies dans la section Définir la clé primaire.
Informations supplémentaires
Pour plus d’informations sur la conception d’une base de données et le choix d’une clé primaire appropriée, voir les articles :