Clé primaire , clé étrangère [Résolu]

cs_emmanuel9 903 Messages postés mercredi 23 février 2005Date d'inscription 16 juin 2010 Dernière intervention - 7 déc. 2005 à 11:16 - Dernière réponse : cs_emmanuel9 903 Messages postés mercredi 23 février 2005Date d'inscription 16 juin 2010 Dernière intervention
- 7 déc. 2005 à 11:52
Bonjour à tous,



"Aieuuuuuuu" m'a dit hier que une table n'avais pas besoin de contenir une clée primaire J'ai oublier de lui demander :



Si ma table contient deux clée etrangère dont l'association des deux
est uniques est ce que c'est bon ? ou bien si ma table ne contient rien
d'unique est ce que c'est bon quand même ?



Par avance, merci..
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
aieeeuuuuu 698 Messages postés jeudi 16 janvier 2003Date d'inscription 20 mai 2011 Dernière intervention - 7 déc. 2005 à 11:27
3
Merci
re,

les clef primaires et etrangere ne sont en aucun cas obligatoires.

elles te servent juste a assurer l'integrité de tes données
exemple :
dans une table qui contient des clients, tu vas par exemple mettre une clef primaire sur le numéro de client, pour etre sur de ne jamais avoir deux clients ayant le meme numéro (après une manip a la main dans la base, ou un programme qui fonctionne mal)
avec la clef primaire, l'ajout ne pourra pas avoir lieu et provoquera une erreur. Ca te permet aussi de pouvoir identifier de facon unique chacun de tes clients.

de meme pour la clef etrangere.
dans une table qui contient les commande, tu va rattacher chaque commande a un client. tu va donc définir une clef etrangere sur le champs qui contient le numero de client correspondant a la commande, afin de t'assurer que ce numero existe bien dans la table des clients. ainsi tu ne pourra pas ajouter une commande qui ne correspond a aucun client, et tu ne pourra pas non plus supprimer un client qui a une commande. ainsi tu sera sur de n'avoir jamais de commande qui ne sont rattachées a aucun client.

c'est donc a toi de voir en fonction des données que tu veux stocker les clefs primaires et etrangeres qu'il te faut.


si je me souviens bien de ton cas, tu rattchais des perosnnes a des groupes.


il faut donc mettre des clefs etrangere pour t'assurer que chaque personne existe bien dans la table personne. idem pour que les groupes existent bien.
par contre pour ce qui est de la clef primaire, je ne sais pas si elle est tres utile, mais elle pourra, si tu la crée sur les deux champs, t'eviter d'avoir une personne ratachée deux fois au meme groupe. la c'est a toi de voir en fonction de la facon dont tu veux gerer tes données.

j'espere que c'est a peu pres clair ?!?

Merci aieeeuuuuu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de aieeeuuuuu
cs_emmanuel9 903 Messages postés mercredi 23 février 2005Date d'inscription 16 juin 2010 Dernière intervention - 7 déc. 2005 à 11:52
0
Merci
Merci de cette réponse si complète,oui c'est très clair, c'est pas une obligation mais ca sert pour l'integrité des données afin que la base ne finisse pas pas devenir n'importe quoi à terme.
Commenter la réponse de cs_emmanuel9

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.