56 votes

Prénom deuxième prénom nom de famille. Pourquoi pas le nom complet?

J'essaie de trouver une meilleure approche pour stocker le nom des personnes dans la table. Quels sont les avantages de 3 champs sur 1 pour stocker le nom des personnes?

METTRE À JOUR

Voici une discussion et des ressources intéressantes sur le stockage des noms et l'expérience utilisateur

Fusion du prénom / nom de famille dans un seul champ

66voto

RichieHindle Points 98544

Vous pouvez toujours construire un nom complet à partir de ses composantes, mais vous ne pouvez pas toujours déconstruire un nom au complet dans ses composants.

Dites que vous voulez écrire un e-mail commençant par "Cher Richie" - vous pouvez le faire que de façon triviale si vous avez un given_name champ, mais de déterminer ce que quelqu'un a donné le nom est à partir de son nom complet n'est pas trivial.

Vous pouvez aussi trivialement de recherche ou de tri par given_nameou family_name, ou quoi que ce soit.

(Remarque, je suis à l'aide d' given_name, family_name, etc. plutôt que d' first_name, last_name, parce que les différentes cultures de mettre leurs noms dans un ordre différent.)

La résolution de ce problème dans le cas général est dur, voici un article qui donne une idée de comment c'est dur: Représentant des Noms de Personnes en Dublin Core.

42voto

raoulsson Points 2845

Gardez vos données aussi propre que vous le pouvez!

Comment?

Demandez à votre utilisateur seulement que quelques des choses que vous avez absolument besoin au moment où vous le demandez.

La façon dont vous stockez le nom n'a pas d'importance. Ce qui importe, c'est que

  1. l'expérience utilisateur est aussi bon comme
  2. vous n'avez pas de fausses données dans votre système

Si vous importuner les utilisateurs avec des champs obligatoires à remplir et re-question plusieurs fois, ils peuvent s'énerver et de ne pas acheter dans votre application, puis il. Vous voulez éviter les mauvaises expériences de l'utilisateur à tout moment.

Aucun utilisateur ne se soucie combien il est facile pour vous de rechercher dans votre base de données pour son deuxième prénom. Il veut avoir un facile, sentir une bonne expérience, c'est tout.

Ce n'utilisateurs à faire s'ils sont forcés de données d'entrée comme leur adresse postale ou même adresse email lorsqu'ils veulent seulement une "lecture seule" compte aucune notification n'est nécessaire? Ils ont mis des ordures des données dans votre système. Cela rendra votre super de recherche et les algorithmes de tri inutile de toute façon.

Donc, mon conseil serait de n'importe quelle application de recueillir que peu d'informations à partir de votre utilisateur que vous avez vraiment besoin , pour les servir, pas plus.

Par exemple, si vous exécutez une boutique en ligne pour les aliments pour animaux de compagnie, de ne pas demander à vos utilisateurs lors de l'inscription de ce genre d'animaux qu'ils possèdent. Faire une option pour eux de remplir une fois qu'ils sont connectés et à tous de joyeuses (nouveaux clients). Ne pas leur demander leur adresse postale jusqu'à ce qu'ils commander des trucs qui est de la réalité de leur maison, des trucs pour leur argent, et par conséquent, les soins que VOUS avez leurs coordonnées exactes.

Cela conduira à beaucoup mieux de la qualité des données et c'est ce que vous aimez, pas de détails techniques, l'utilisateur n'a pas d'avantages à partir de....

Dans votre exemple, je voudrais juste demander le nom complet (pas sûr), et une fois que l'utilisateur volontiers souscrit à votre newsletter, permettre à l'utilisateur de décider de la façon dont il/elle veut être adressé...

20voto

Colin Mackay Points 9303

Comme d'autres l'ont dit, comment décomposer un nom complet à ses parties composantes.

  • Colin Angus Mackay
  • Jean Michel Jarre
  • Vincent van Gogh
  • Pablo Diego José Francisco de Paula Juan Nepomuceno María de los Remedios Cipriano de la Santísima Trinidad Ruiz y Picasso

Comment se décomposer de manière fiable que beaucoup?

Pour en savoir plus, consultez les mensonges de programmeurs croient au sujet des noms.

14voto

John Saunders Points 118808

J'étais à la recherche de la Guerre Civile espagnole , l'autre jour, et trouvé cette exception à la plupart des règles:


La prochaine fois, je suis en train de travailler sur un système qui a de stocker des noms, je vais essayer de faire quelque chose de radical: de la conception aux exigences.

Qu'allons-nous utiliser les noms?

  1. Nom sur une étiquette d'adresse pour le service postal
  2. Message d'accueil sur le site
  3. Informel nom

Basé sur ce que les noms seront utilisés, nous aimerions déterminer la quantité d'information à stocker. Peut-être nous permettre à l'utilisateur d'entrer tous les trois de ceux-ci, y compris les sauts de ligne dans le premier cas (Généralissime Franco pourriez complet de ses titres et des rendez-vous répertorié, s'il n'était pas encore mort). Peut-être nous fournir d'Abord, le Moyen, la Dernière Génération comme une option, et de remplir le reste par défaut. Peut-être que nous vous proposons d'autres options communes, comme Nom de famille, Nom Donné.

Ceci est en contraste à l'ancien style de prénom, second prénom, nous avons utilisé depuis avant j'ai commencé la programmation en COBOL en 1975, et ont "adapté" depuis.

14voto

Peter Recore Points 11208

Malheureusement, c'est un peu comme demander quelle est la meilleure façon de stocker un nombre dans la base de données. Cela dépend de ce que vous allez faire avec elle - parfois, vous voulez un int,d'autres fois un octet, et parfois d'un flotteur. Avec des noms ça dépend des choses comme les cultures attendez-vous de vos utilisateurs à venir, de ce que vous prévoyez de le faire avec les noms (allez-vous utiliser ces noms pour se connecter avec un autre système qui stocke les noms comme "nom, prénom"?), et combien vous pouvez vous permettre d'importuner vos utilisateurs. Si c'est un interne des RH de l'application, vous pouvez probablement se permettre d'ennuyer les utilisateurs beaucoup, et ont une très formel et structuré répartition de nom des composants (il y a plus de 3 - n'oubliez pas mr/mme, jr, III, plusieurs prénoms, composé de noms de famille, et qui sait quoi d'autre si vous essayez de gérer les noms de toutes les cultures. Si vous avez une application web que les utilisateurs peuvent être ou ne se soucient pas, vous ne pouvez pas demander à des soins trop.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X