Clé primaire Access

19/05-2001 à 21:33Bonjour,

Je suis en train de faire un tour d'horizon de Microsoft Access mais je n'arrive pas à comprendre l'utilité de la clé primaire je sais que je la met pour un champ qui doit être unique mais je ne comprends pas tout de même son utilité.
Merci


19/05-2001 à 22:09ah access, vaste programme que j aimerai bien traiter un jour sur Memoclic car c'est ma formation première :D

Une clé primaire se doit d etre présente sur chaque table pour quelle raison ?
Prenons ce forum.

un message qui comporte un id (identifiant) unique c'est la clé primaire.

1 --> message 1
2 --> message 2
3 --> message 3
etc etc ...


en simplifiant l'url de ce message est ?i=19069
19069 est l'id du message ok ?

donc lors de cet appel, la base de données (Access dans ton cas), va aller chercher l enregistrement 19069 dans la base de données. Comme c'est la clé primaire, la recherche sera extrememnt plus rapide !

donc premier avantage et non des moindres rapidité.

2eme avantage : l integrité de la base de données. A savoir que si ton champ est identifié comme unique (une clé primaire l est toujours), il y a peu de chance qu un autre message ait le même ID.

Par exemple, imagine qu un message d il y a 2 semaines porte le même ID 19069 :o eh bah t es pas dans la panade pour l affichage. il affiche lequel Access ? celui d il y a 2 semaines ou celui ci.
Une clé primaire etant unique, ce doublon est impossible. Si tu essaie d'attribuer un id à un champ et que cet id existe deja --> erreur, mise à jour impossible.

Access propose le type de champ numeroauto qui est très pratique. Le champ sincrémente automatiquement lors de l ajout d'enregistrement. très pratique !

Bref on pourrait en faire des tartines sur Access ... mais je m arrete la :D


----------
Nicolas Santos : Webmaster de http://www.memoclic.com


Clé primaire Access
19/05-2001 à 23:04Merci beaucoup pour cette information , je crois que je vais adoré Access!
Malheureusement je ne peut pas mettre le champ numerauto car l'énoncé de mon travail me l'interdit, mais avec la lumière que tu viens de m'apporter je crois comprendre quelle champs il faut que je désigne en clé primaire.

Si je peut me permettre une autre question quelle serait l'utilité d'avoir une table qui ne contient aucune clé primaire?? dans l'exemple que j'ai je possède une table avec aucune clé primaire.

Merci :)

19/05-2001 à 23:12Une clé primaire n est pas obligatoire. elle permet des recherches plus rapides et également facilite une structure cohérente et stable.

Une table sans clé primaire entraine souvent des enregistrements en double. source d erreur. je connais pas ta structure mais je suppose que l absence de clé primaire peut se justifier de temps en temps.

Si pas de numéro auto alors ta clé primaire peut etre créer manuellement à l aide d'une requete dans la quelle tu sélectionne la valeur MAX de ton champ auquel tu rajoute 1 (en fait tu simules l auto increment)
Sinon la "clé primaire" peut egalement etre composé d'un chaine aléatoire.
également d'une combinaison de champ. Par exemple :

----------------------- OK
Type = Voiture
Marque = ZZ
-----------------------

----------------------- OK
Type = Voiture
Marque = ZX
-----------------------

----------------------- PAS BON
Type = Voiture
Marque = ZZ
-----------------------

----------------------- OK
Type = camion
Marque = ZZ
-----------------------


----------
Nicolas Santos : Webmaster de http://www.memoclic.com


21/05-2001 à 12:03jajouterais que c principes sont generalisables a d'autres types de bases de données (MySQL,etc...)

Clé primaire Access
21/05-2001 à 12:12j'ajouterai que je suis d accord :D


----------
Nicolas Santos : Webmaster de http://www.memoclic.com


  • fatouha
20/01 à 10:43Bonjour,

Je suis en train de faire un tour d'horizon de Microsoft Access mais je n'arrive pas à comprendre l'utilité de la clé primaire je sais que je la met pour un champ qui doit être unique mais je ne comprends pas tout de même son utilité.
Merci

  • grolou
20/01 à 13:12Bonjour, relis ce qui est écrit ci-dessus.
Si, malgré tout, tu ne comprends toujours pas... abandonne Access.


Cette conversation est fermée

« Forum technique (liste des messages)8 enregistrements / page 1/1