conseil pour bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : conseil pour bdd

par bdd » 20 mai 2005, 17:50

salut ! ok ok vous m'avez convaincu ! je garde l'auto incremente id :p merci les camarades ;)

par zeus » 20 mai 2005, 10:06

Quand je me penche sur un MCD, je part toujours du fait que la clé primaire doit être entièrement transparente pour l'utilisateur. Il ne doit même pas avoir la possibilité de connaître celle qui lui est attribué

Je suis contre le fait que ça soit un champ modifiable qui soit une PK car, comme l'a dit pascaltje, ca se change et c'est très dur à ce moment là de garantir une éventuelle intégrité référentielle !!!!

Le fait de mettre une PK numérique auto incrémenté à, à mon gout, des tas d'avantage

- l'index sur la PK est + performant
- on ne se soucis pas de vérifier si exiset déjà ou pas
- l'intégrité référentielle est toujours bonne même si on change l'intégralité des champs de l'enregistrement dont l'utilisteur à la possibilité d'accèder

par iclo » 20 mai 2005, 10:01

Un client peut changer d'adresse email, et comme clé primaire, il faut quelque chose qui perdure, sans quoi, en cas de modification on devrait modifier toutes les tables faisant référence à cette clé primaire, et pour peu qu'une partie de ces données soient archivée, ce ne sera pas possible.
Rien n'empêche de mettre le champ mail en unique, mais sans l'utiliser comme clé primaire.
NB: les pseudos dans phpbb sont unique, mais la clé primaire est un id auto-incrémenté

par Cyrano » 20 mai 2005, 09:52

l'idée de l'adresse de courriel est intéressante parce que c'est une adresse unique à chaque fois
Je ne suis pas tout à fait d'accord...
J'entends bien, mais tu ne peux pas trouver sur la planète deux adresses strictement identiques et en ce sens, elle pourrait à la rigueur servir de clé primaire: si monsieur et madame utilisent la même adresse, j'ai des raisons de croire qu'ils vivent à priori à la même adresse, donc ça ne posera pas de problème au niveau de la facturation ou de la livraison. Par contre là où tu as raison, c'est que monsieur s'inscrit et que madame le fait aussi en utilisant la même adresse de courriel, il y aura un problème.

La conclusion reste la même de toute façon, il faut un champ identifiant. Il y a une option : le nom d'usager qu'on peut mettre unique comme nos pseudo sur ce forum par exemple: il n'y a qu'un seul albat, une seul pascaltje, etc... mais c'est en revanche source d'erreurs et d'oublis pour un client qui se connecte une fois tous les 36 du mois et entre temps a perdu son identifiant.

par pascaltje » 20 mai 2005, 09:46

j'éviterai le mail comme identifiant (clé primaire) Why?
parce que:
- si on fait référence à la table, il faut passer la clé = le mail = un champ de 50 caractères au lieu d'un champ numérique plus court (probleme de taille)
- un mail ça se change (problème de mise à jour sur les autres tables)

A+

Pascal

par albat » 20 mai 2005, 09:45

l'idée de l'adresse de courriel est intéressante parce que c'est une adresse unique à chaque fois
Je ne suis pas tout à fait d'accord...

Deux clients peuvent utiliser une même adresse e-mail [-X
(monsieur et madame, par exemple, font des commandes séparées.
C'est rare mais ça peut arriver.)

De même, utiliser la date de naissance ne convient pas non plus [-X
(il y a les jumeaux et les simples coïncidences...)

Conclusion :
Toujours définir une clé primaire avec un entier auto-incrémenté !
:!:

par Cyrano » 20 mai 2005, 08:22

Salut,
l'idée de l'adresse de courriel est intéressante parce que c'est une adresse unique à chaque fois, mais tu as encore pas mal de gens qui n'ont pas d'accès du tout à Internet, soit géographiquement soit par choix personnel, et ils n'ont donc pas d'adresse de courriel. Donc un numéro automatiquement incrémenté est en fin de compte nécessaire.

conseil pour bdd

par bdd » 20 mai 2005, 00:44

salut ! je fais une base de donnée dans laquelle je gère des clients... je stock le nom, prenom, date de naissance, adresse... ainsi que l'adresse mail.. est-il judicieux de me servir de l'adresse mail comme identifiant de ma table client ? ou un numero serait-il plus adequate ? merci !