Question

Je conçois une table de base de données et je me pose encore une fois la même question stupide : Quelle doit être la longueur du champ prénom ?

Quelqu'un a-t-il une liste de longueurs raisonnables pour les champs les plus courants ?, comme le prénom, le nom et l'adresse e-mail ?

Était-ce utile?

La solution

Recommandation du W3C :

Si la conception d'un formulaire ou d'une base de données acceptera les noms de personnes ayant une variété de arrière-plans, vous devriez Demandez-vous si vous avez vraiment besoin d'avoir des champs séparés pour un nom et un nom de famille.

… Gardez à l'esprit que les noms dans certaines cultures peuvent être beaucoup plus longs que les vôtres.… Évitez de limiter la taille du champ pour les noms de votre base de données.En particulier, ne supposez pas qu'un nom japonais à quatre caractères dans UTF-8 tiendra dans quatre octets - vous en aurez probablement besoin de 12.

https://www.w3.org/International/questions/qa-personal-names

Pour les champs de base de données, VARCHAR(255) est un choix par défaut sûr, à moins que vous ne puissiez trouver une bonne raison d'utiliser autre chose.Pour les applications Web typiques, les performances ne seront pas un problème.N'optimisez pas prématurément.

Autres conseils

Je viens d'interroger ma base de données avec des millions de clients aux USA.

  • Le maximum prénom la longueur était de 46.Je pars avec 50.(Bien sûr, seulement 500 d’entre eux avaient plus de 25 ans, et il s’agissait tous de cas où les importations de données entraînaient une accumulation de déchets supplémentaires dans ce domaine.)

  • Nom de famille était semblable au prénom.

  • Adresses mail Maximisé à 62 caractères.La plupart des plus longues étaient en fait des listes d'adresses e-mail séparées par des demi-colons.

  • Adresse de la rue Maxes à 95 caractères.Les longs étaient tous valables.

  • Max. ville la longueur était de 35.

Cela devrait constituer un écart statistique décent pour les Américains.Si vous devez prendre en compte la localisation, les chiffres peuvent varier considérablement.

Catalogue des normes de données du gouvernement britannique détaille les normes britanniques pour ce genre de chose.Il suggère 35 caractères pour chacun des prénoms et noms de famille, ou 70 caractères pour un seul champ contenant le nom complet, et 255 caractères pour une adresse e-mail.Entre autres choses..

Certaines longueurs de colonnes probablement correctes

                            Min Max

Hostname                    1   255
Domain Name                 4   253
Email Address               7   254
Email Address [1]           3   254
Telephone Number            10  15      
Telephone Number [2]        3   26  
HTTP(S) URL w domain name   11  2083        
URL [3]                     6   2083    
Postal Code [4]             2   11
IP Address (incl ipv6)      7   45
Longitude                   numeric 9,6
Latitude                    numeric 8,6
Money[5]                    numeric 19,4

[1] Allow local domains or TLD-only domains
[2] Allow short numbers like 911 and extensions like 16045551212x12345
[3] Allow local domains, tv:// scheme
[4] http://en.wikipedia.org/wiki/List_of_postal_codes. Use max 12 if storing dash or space
[5] http://stackoverflow.com/questions/224462/storing-money-in-a-decimal-column-what-precision-and-scale

Une longue diatribe sur les noms personnels

Un nom personnel est soit un polynyme (un nom avec plusieurs triable composants), un Mononyme (un nom avec un seul composant), ou un Pictonyme (un nom représenté par une image - cela existe grâce à des personnes comme Prince).

Une personne peut avoir plusieurs noms, jouant des rôles, tels que LÉGAL, MARITAL, MAIDEN, PRÉFÉRÉ, SOBRIQUET, PSEUDONYM, etc.Vous pouvez avoir des règles commerciales, telles que « une personne ne peut avoir qu'un seul nom légal à la fois, mais plusieurs pseudonymes à la fois ».

Quelques exemples:

names: [
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"George",
    middle:"Herman",
    moniker:"Babe",
    surname:"Ruth",
    generation:"JUNIOR"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Bambino" /* mononyms can be more than one word, but only one component */
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Sultan of Swat"
  }
]

ou

names: [
  {
    type:"POLYNYM",
    role:"PREFERRED",
    given:"Malcolm",
    surname:"X"
  },
  {
    type:"POLYNYM",
    role:"BIRTH",
    given:"Malcolm",
    surname:"Little"
  },
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Malik",
    surname:"El-Shabazz"
  }
]

ou

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Prince",
    middle:"Rogers",
    surname:"Nelson"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"Prince"
  },
  {
    type:"PICTONYM",
    role:"LEGAL",
    url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png"
  }
]

ou

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Juan Pablo",
    surname:"Fernández de Calderón",
    secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */
  }
]

Les prénoms, deuxièmes prénoms et noms de famille peuvent être constitués de plusieurs mots tels que "Billy Bob" Thornton, ou Ralph "Vaughn Williams".

Je dirais qu’il faut pécher par excès.Puisque vous utiliserez probablement varchar, tout espace supplémentaire que vous autorisez n'utilisera pas d'espace supplémentaire à moins que quelqu'un n'en ait besoin.Je dirais que pour les noms (prénom ou nom), allez au moins 50 caractères, et pour l'adresse e-mail, faites-en au moins 128.Il existe des adresses e-mail très longues.

Une autre chose que j'aime faire, c'est aller à Lipsum.com et demandez-lui de générer du texte.De cette façon, vous pouvez avoir une bonne idée de ce à quoi ressemblent 100 octets.

J'utilise presque toujours une puissance de 2, sauf s'il y a une bonne raison de ne pas le faire, comme une interface client où un autre numéro a une signification particulière pour le client.

Si vous vous en tenez aux puissances de 2, cela vous maintient dans un ensemble limité de tailles communes, ce qui en soi est une bonne chose, et cela permet de deviner plus facilement la taille des objets inconnus que vous pourriez rencontrer.Je vois pas mal d’autres personnes faire cela, et il y a quelque chose d’esthétique là-dedans.Cela me donne généralement un bon sentiment quand je vois cela, cela signifie que le concepteur pensait comme un ingénieur ou un mathématicien.Mais je serais probablement inquiet si seuls des nombres premiers étaient utilisés.:)

Je voulais trouver la même chose et les normes de données du gouvernement britannique mentionnées dans la réponse acceptée semblaient idéales.Cependant, aucun de ces éléments ne semblait plus exister - après une recherche approfondie, je l'ai trouvé dans une archive ici : http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx.Besoin de télécharger le zip, de l'extraire puis d'ouvrir default.htm dans le dossier html.

prénom :35 LASTNAME:35 Courriel:255 URL:60+ selon le serveur et la ville de navigateur:45 Adresse:90

En regardant simplement dans mes archives de courrier électronique, il existe un certain nombre de "prénoms" assez longs (bien sûr, ce que l'on entend par premier varie selon la culture).Un exemple est Krishnamurthy - qui compte 13 lettres.Une bonne estimation pourrait être de 20 à 25 lettres sur cette base.L'e-mail doit être beaucoup plus longtemps puisque vous pourriez avoir firstname.lastname@somedomain.com.De plus, Gmail et certains autres programmes de messagerie vous permettent d'utiliser firstname.lastname+sometag@somedomain.com où "sometag" est tout ce que vous souhaitez y mettre afin que vous puissiez l'utiliser pour trier les e-mails entrants.Je rencontre fréquemment des formulaires Web qui ne me permettent pas de saisir mon adresse e-mail complète sans tenir compte des balises.Donc, si vous avez besoin d'un champ de courrier électronique fixe, peut-être quelque chose comme 25,25+15@20,3 en caractères pour un total de 90 caractères (si j'ai bien fait mes calculs !).

Ceux-ci pourraient être utiles à quelqu’un ;

youtube max channel length = 20
facebook max name length   = 50
twitter max handle length  = 15
email max length           = 255 

http://www.interoadvisory.com/2015/08/6-areas-inside-of-linkedin-with-character-limits/

Je pars généralement avec :

Prénom:30 caractères
Nom de famille:30 caractères
E-mail:50 caractères
Adresse:200 caractères

Si je suis préoccupé par les champs longs pour les noms, je peux parfois en choisir 50 pour les champs de nom, car l'espace de stockage est rarement un problème de nos jours.

Si vous devez envisager la localisation (pour ceux d'entre nous en dehors des États-Unis !) et que c'est possible dans votre environnement, je suggère :

Définissez les types de données pour chaque composant du nom - REMARQUE :certaines cultures ont plus de deux noms !Ensuite, tapez le nom complet,

La localisation devient alors simple (en ce qui concerne les noms).

La même chose s'applique aux adresses, BTW - différents formats !

c'est du varchar, non ?Donc, peu importe si vous en utilisez 50 ou 25, mieux vaut être prudent et en utiliser 50, cela dit, je crois que le plus long que j'ai vu est d'environ 19 environ.Les noms de famille sont plus longs

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top