Gestion de la clé primaire et doublons
Lors de l'exportation d'un tableau, en fichier MS
Access MDB, il est possible de définir la colonne 1 comme clé primaire de la table.
Dans ce cas, les doublons dans la colonne 1 sont déconseillés, car ils ne seront pas exportés dans la table.
Soit l'exemple suivant:
Lors de la création de la table, dans le
fichier Access MDB, la ligne 2 sera absente, puisque le code TF458 est déjà utilisé. La colonne 1 est bien la clé primaire de la table. Les doublons sont donc interdits. La ligne 2 de la nomenclature est donc absente. Dans ce cas, la table ne contient pas de clé primaire, et toutes les lignes de la nomenclature
sont bien présentes. Les doublons sont autorisés. - Pour créer une clé primaire
unique, la requête SQL de création de table contient : " NOT NULL PRIMARY KEY ".

Nomenclature dans le schéma
Il y a 2 produits qui ont le même code
TF458. En effet, les fabricants ne se concertent pas entre eux pour garantir l'unicité des codes.
Si la colonne 1 est la clé primaire de la
table
Dans ce cas:- La code ( = contenu de la colonne 1 ) doit être unique.
- Le code ne peut être vide.
Un avertissement sera alors généré dans le Journal:
Echec ( Ajout d'une ligne )
Modifications non effectuées: risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs
contenant les doublons, enlevez ou redéfinissez l'index pour permettre les doublons et recommencez
Requete SQL: INSERT INTO NOMENCLATURE (C1, C2, C3, C4) VALUES ('TF458', 'RAIL', 'LEGRAND', 'Rail')
Cela peut se controler dans la table, dans Access:
Dans ce cas, il n'y a pas de clé
primaire dans la table. Ce qui, selon l'utilisation interne réalisée après, peut être un handicap.
-
-
Définition: Clé primaire ( complexe ) : Dans une base de données relationnelle, une clé primaire est une contrainte d'unicité qui permet d'identifier de manière unique un
enregistrement dans une table. Une clé primaire peut être composée d'un ou de plusieurs champs de la table. Deux lignes distinctes de la table ne peuvent pas avoir les mêmes valeurs pour les champs définis au niveau de la
clé primaire. Il est possible de définir pour une même table plusieurs contraintes d'unicité, mais au plus une seule clé primaire.
La clé primaire d'une table doit se placer sur des champs qui permettent d'identifier
chaque ligne de la table. Il peut donc sembler intéressant de placer une clé primaire sur un numéro de sécurité sociale par exemple, mais on préfèrera utiliser une clé primaire complètement indépendante
des données métier, afin de s'assurer que le champ est toujours rempli (un étranger ou un enfant peuvent ne pas avoir de numéro de sécurité sociale) et n'évolue pas dans le temps. Toutes les bases de données
proposent des mécanismes prenant en charge une numérotation utilisable pour les clés primaires. [ Source : Wikipédia ].