Michel Girer a écrit : > Docgranville <Docgranville <at> aol.com> writes: > >> Bonjour, >> > >> Généralement, il est donc conseillé de créer un champ particulier, autre >> que la clef pri:maire (même s'il peut apparaître redondant) pour inclure >> des informations signifiantes. >> >> C'est en tout cas ce que j'ai pu lire régulièrement sur cette liste et >> c'est ce que je me suis mis à pratiquer depuis. >> >> Espérant avoir (un peu) aidé. >> >> A+ >> > > > Merci! > Je pensais essayer la solution de Laurent Balland-Poirier (de > garder une clé auto-incrémentée qui démarre à 0, et d'avoir un champ > supplémentaire (ID_client) = clé + 1 ou 1421.)
Je m'en garderais ! (désolé Laurent) > > Mais il y a une autre difficulté que je viens de découvrir: pour établir une > relation entre tables, l'un au moins des champs doit être une clé primaire ! > Or je voudrais établir la relation avec l'ID_Client ... Je reprends ce qu'à dit Docgranville et j'insiste dans ce sens : une clef primaire ne devrait pas avoir de sens pour le domaine. Un champ autoincrémenté est donc parfait mais tu devrais séparer ton ID client de ce champ autoinc et réaliser tes jointures sur l'autoinc. Imagine : tu réalises ce que tu voudrais, c-à-d utiliser ton champ IDclient comme clef promaire. Et un jour, pour une raison X ou Y (qui peut être extérieure à ton entreprise ; exemple : tu es racheté par Microsoft), tu DOIS changer la structure de ton champ IDclient. Kèktufais alors ? Tu refais TOUTES tes relations et tu galères (t'en oublieras surement). Avec un champ indépendant, tu peux changer la structure de ton IDcient tous les jours, sans AUCUNE conséquence sur la base. Bon courage, -- Jean-Francois Nifenecker, Bordeaux --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]