Access

les messages d'erreur

 

présentation

Les bases de données doivent respecter un certains nombre de contraintes pour assurer leur cohérence et l'intégrité de leurs données.
Nous allons observer certaines erreurs possibles à partir de l'exemple d'une base de données simple.
Cette base de données comporte deux tables, Fournisseurs et Produits, liées entre elles par un lien de type un-à-plusieurs : un fournisseur vend plusieurs produits.
Le Numéro de fournisseur, clé primaire de la table Fournisseurs constitue la clé étrangère de la table Produits et permet de faire un lien entre les tables.

les erreurs d'intégrité

L'opérateur n'a pas respecté le type de donnée prévu dans une table. Il a essayé de saisir du texte dans un champ de type numérique.. Il a pu également saisir un contenu trop long par rapport à ce qui a été prévu pour le champ. Il n'a pas respecté l'intégrité de domaine.

 

On a essayé de saisir un enregistrement dans la table Produits, mais cet enregistrement correspond à un fournisseur qui n'existe pas ou n'a pas encore été saisi. Il faut donc commencer par saisir les enregistrements de la table Fournisseurs avant de saisir les produits. Il y a violation de la contrainte d'intégrité référentielle.

 

La clé étrangère (table Produits) doit avoir le même format que la clé primaire (table Fournisseurs). Par exemple, si la clé primaire est de type numérique, la clé étrangère doit l'être également. La contrainte d'intégrité référentielle a été violée ici.

 

La même valeur a été donnée à deux occurrences de la clé primaire (doublon). La contrainte d'intégrité de relation n'a pas été respectée. Toutes les valeurs de clés primaires doivent être uniques.

 

La clé primaire d'une table ne peut pas contenir de valeur nulle. La contrainte d'intégrité de relation n'a pas été respectée.

 

L'opérateur n'a pas défini de clé primaire dans une table, ce qui est vivement déconseillé. Access propose d'en créer une lui-même. Il s'agira alors d'un champ numérique à incrémentation automatique, ce qui n'est pas forcément la meilleure solution. Mieux vaut refuser l'offre d'Access et créer soi-même une clé primaire adaptée.

les erreurs de manipulations

Il n'a pas été possible à l'opérateur de modifier la structure de la table Produits car cette table est déjà utilisée par ailleurs. Par exemple le formulaire correspondant à cette table est ouvert et l'opérateur ne le voit pas car des fenêtres sont cachées sous d'autres.

 

On ne peut pas modifier la structure d'un champ qui est impliqué dans une relation. Par exemple, il est impossible de transformer la clé étrangère en type texte alors que la clé primaire est de type numérique. Il faut donc supprimer d'abord la relation entre les deux tables avant d'effectuer la modification.