Contraintes
Contraintes de tables et de colonnes
Access permet d'exprimer les contraintes SQL LDD standard :
PRIMARY KEY : Sélectionner le ou les attributs concernés puis effectuer un clic droit et sélectionner
Clé primaire
.NOT NULL :
Null interdit = oui
dans les propriétés du champsUNIQUE :
Indexé = Oui - Sans doublons
dans les propriétés du champ ou utiliser la fenêtreIndex
pour les clés composées de plusieurs attributsCHECK :
Valide si
dans les propriétés du champs ou de la table (pour une contrainte de table)
Attention :
Dans Access le mot "relation" désigne en fait les contraintes d'intégrités référentielles, et non les tables comme c'est le cas dans la terminologie relationnelle. Ceci est un abus de langage.
Rappel : Contrôle sur les données
Le contrôle sur les données opéré par un SGBD correspond à divers éléments : contrôle du domaine, mais aussi de l'intégrité référentielle, de la non nullité, etc.
Ces contraintes peuvent être levées : en spécifiant un domaine très permissif (comme les chaînes de caractères), en supprimant les clause de non nullité, ou bien en supprimant l'intégrité référentielle (dans la fenêtre Relations
d'Access).
La suppression des contraintes peut être nécessaire pour intégrer temporairement des données qui ne correspondent pas au modèle. Elles devront bien entendu dans ce cas être mises en conformité au plus vite, et les contraintes pourront alors être réactivées.
Complément : Enumération
Pour déclarer une énumération dans Access, il faut impérativement la spécifier au niveau de la structure de la base de données, donc au niveau de la propriété Valide si
de l'attribut.
La déclaration de cette énumération au niveau d'une liste déroulante dans l'IHM
de saisie de la table (Liste de choix
) n'est pas pertinente car c'est uniquement ce "petit bout
d'IHM" qui contrôle les valeurs de l'énumération et non le moteur du SGBD.
Donc une autre partie de l'application avec une autre IHM pourra permettre des
valeurs différentes, ce qui n'est pas souhaité.