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 ( Exemple sur un schéma WinRelais ( WinRelay ) )
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 ].