Clé primaire, secondaire a quoi ca sert?
Makari
-
DoulyCreations Messages postés 187 Date d'inscription Statut Membre Dernière intervention -
DoulyCreations Messages postés 187 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je fais un jeu en php avec une bdd, et je me rends compte que je ne sais pas du tout a quoi servent les clés primaires et secondaires :p
je mets bien en clé primaire le champs id des tables mais au final je n'en vois pas l'utilité, quand aux clés secondaires, je n'en metes jamais. Pourtant cela doit bien servir a quelques chose, non ?
quand je fais une requete dison qu'il y'a les deux tables suivantes :
joueur
idjoueur
login
pass
mail
etc..
ville
idville
idjoueur
nomville
etc..
si je veux la liste des viles du joueur paulo je ferai:
select nomville FROM joueur, ville WHERE login=paulo AND joueur.idjoueur=ville.idjoueur
et ca marchera bien que je n'ai pas de clé, alors a quoi servent elles finalement ? est ce que ca facilite la vitesse de traitement de la requete ou quelque chose comme ca ?
je fais un jeu en php avec une bdd, et je me rends compte que je ne sais pas du tout a quoi servent les clés primaires et secondaires :p
je mets bien en clé primaire le champs id des tables mais au final je n'en vois pas l'utilité, quand aux clés secondaires, je n'en metes jamais. Pourtant cela doit bien servir a quelques chose, non ?
quand je fais une requete dison qu'il y'a les deux tables suivantes :
joueur
idjoueur
login
pass
etc..
ville
idville
idjoueur
nomville
etc..
si je veux la liste des viles du joueur paulo je ferai:
select nomville FROM joueur, ville WHERE login=paulo AND joueur.idjoueur=ville.idjoueur
et ca marchera bien que je n'ai pas de clé, alors a quoi servent elles finalement ? est ce que ca facilite la vitesse de traitement de la requete ou quelque chose comme ca ?
A voir également:
- Clé primaire et secondaire
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Clé bootable windows 10 - Guide
3 réponses
Salut,
Les clefs primaires c'est pour identifier de facon unique tes enregistrements et puis comme c'est des entiers c'est facile à traiter.
Les clefs secondaires sont comme tu le soulignes très justement inutiles dans la pluspart des cas.
Elles sont cependant indispensables si tu veux faire des suppressions en cascade par exemple. Et certains dataobjects te permettent de faire des recherches associatives grâce à elles.
Ni les primaires ni les secondaires n'améliorent les temps d'exécution, l'indexation des champs par contre oui. Donc si ta clef primaire est indexée cela sera + rapide de faire des traitements sur celle-ci.
Les clefs primaires c'est pour identifier de facon unique tes enregistrements et puis comme c'est des entiers c'est facile à traiter.
Les clefs secondaires sont comme tu le soulignes très justement inutiles dans la pluspart des cas.
Elles sont cependant indispensables si tu veux faire des suppressions en cascade par exemple. Et certains dataobjects te permettent de faire des recherches associatives grâce à elles.
Ni les primaires ni les secondaires n'améliorent les temps d'exécution, l'indexation des champs par contre oui. Donc si ta clef primaire est indexée cela sera + rapide de faire des traitements sur celle-ci.
Je vois.
Je ne connais rien sur l'indexation, pourrais tu me dire ou trouver de la documentation a ce sujet ?
(ou me l'expliquer si c'est rapide ^^)
merci pour la réponse sinon ;)
Je ne connais rien sur l'indexation, pourrais tu me dire ou trouver de la documentation a ce sujet ?
(ou me l'expliquer si c'est rapide ^^)
merci pour la réponse sinon ;)
Petite précision, il faut que le moteur de stockage des BDD soit en InnoDB pour utiliser des traitement en cascade, ce qui n'est pas le cas de la plupart des serveurs web car ça demande beaucoup trop de ressources...
C'est plutôt fort utilisé en prog logiciel par contre.
Donc évidemment pour les clefs secondaires en web: ça n'est vraiment pas utile
C'est plutôt fort utilisé en prog logiciel par contre.
Donc évidemment pour les clefs secondaires en web: ça n'est vraiment pas utile