Список стандартных длин для полей базы данных - PullRequest
342 голосов
/ 21 августа 2008

Я создаю таблицу базы данных и снова задаю себе тот же глупый вопрос: Как долго должно быть поле имени?

Есть ли у кого-нибудь список разумных длин для наиболее распространенных полей , таких как имя, фамилия и адрес электронной почты?

Ответы [ 13 ]

284 голосов
/ 21 августа 2008

Я только что запросил свою базу данных у миллионов клиентов в США.

  • Максимальная длина имени была 46. Я иду с 50. (Конечно, только 500 из них были старше 25 лет, и все они были случаями, когда импорт данных приводил к дополнительной ненужной обмотке в этом поле.)

  • Фамилия была похожа на имя.

  • Адреса электронной почты максимально на 62 персонажи. Большинство из более длинных были на самом деле списки адресов электронной почты адреса, разделенные точкой с запятой.

  • Уличный адрес макс. На 95 персонажи. Длинные были все действительный.

  • Макс. Город Длина была 35.

Это должно быть приличное статистическое распространение для людей в США. Если вам нужно учесть локализацию, цифры могут значительно отличаться.

163 голосов
/ 28 августа 2008

Каталог стандартов данных правительства Великобритании подробно описываются стандарты Великобритании для такого рода вещей. Он предлагает 35 символов для каждого из заданного имени и фамилии, или 70 символов для одного поля для хранения полного имени, и 255 символов для адреса электронной почты. Среди прочего ..

47 голосов
/ 07 ноября 2013

Некоторые, вероятно, правильные длины столбцов

                            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

Долгая разглагольствование на личные имена

Личное имя - это либо Polynym (имя с несколькими сортируемыми компонентами), Mononym (имя только с одним компонентом), либо Pictonym (имя, представленное изображением - оно существует из-за таким людям, как принц).

У человека может быть несколько имен, играющих роли, таких как ЮРИДИЧЕСКАЯ, МОРСКАЯ, ДЕВУШКА, ПРЕДПОЧТИТЕЛЬНАЯ, СОБРИКЕТ, ПСЕВДОНИМ и т. Д. У вас могут быть бизнес-правила, такие как «у человека может быть только одно официальное имя одновременно, но несколько псевдонимов одновременно ".

Некоторые примеры:

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"
  }
]

или

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"
  }
]

или

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"
  }
]

или

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 */
  }
]

Указанные имена, отчества, фамилии могут быть несколькими словами, такими как "Billy Bob" Thornton или Ralph "Vaughn Williams".

16 голосов
/ 22 августа 2008

Я бы сказал, чтобы ошибаться на высокой стороне. Поскольку вы, вероятно, будете использовать varchar, любое дополнительное пространство, которое вы разрешите, не будет фактически занимать дополнительное пространство, если кому-то это не нужно. Я бы сказал, что для имен (первых или последних) нужно набрать не менее 50 символов, а для адреса электронной почты - не менее 128. Есть несколько очень длинных адресов электронной почты.

Еще одна вещь, которую мне нравится делать, это перейти на Lipsum.com и попросить его сгенерировать текст. Таким образом, вы сможете получить представление о том, как выглядит 100 байт.

12 голосов
/ 15 сентября 2018

Рекомендация W3C:

При разработке формы или базы данных, которая будет принимать имена от людей с различными фонами, вы должны спросить себя, действительно нужно иметь отдельные поля для имени и фамилии.

... Имейте в виду, что имена в некоторых культурах могут быть намного длиннее чем твой собственный. … Избегайте ограничения размера поля для имен в вашем базы данных . В частности, не предполагайте, что четырехзначный Японское имя в UTF-8 уместится в четыре байта - вы, скорее всего, на самом деле нужно 12.

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

Для полей базы данных VARCHAR(255) является безопасным выбором по умолчанию, если только вы не можете найти вескую причину для использования чего-то другого. Для типичных веб-приложений производительность не будет проблемой. Не преждевременно оптимизируйте.

11 голосов
/ 22 августа 2008

Я почти всегда использую степень 2, если на то нет веских причин, таких как интерфейс, обращенный к клиенту, где какой-то другой номер имеет особое значение для клиента.

Если вы придерживаетесь степеней 2, это удерживает вас в ограниченном наборе общих размеров, что само по себе хорошо, и позволяет легче угадать размер неизвестных объектов, с которыми вы можете столкнуться. Я вижу, что немало других людей делают это, и в этом есть что-то эстетическое. Обычно это вызывает у меня хорошее чувство, когда я вижу это, это означает, что дизайнер думал как инженер или математик. Хотя я бы, наверное, был обеспокоен, если бы использовались только простые числа. :)

4 голосов
/ 21 июня 2012

Я хотел найти то же самое, и стандарты данных правительства Великобритании, упомянутые в принятом ответе, звучали идеально. Однако, похоже, что ничего из этого больше не существует - после расширенного поиска я нашел его в архиве здесь: http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx. Необходимо скачать zip, распаковать его и затем открыть default.htm в папке html.

2 голосов
/ 11 апреля 2012

имя: 35 фамилия: 35 электронная почта: 255 URL: 60+ в зависимости от сервера и браузера город: 45 адрес: 90

1 голос
/ 29 декабря 2016

Это может быть полезно кому-то;

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/

1 голос
/ 21 августа 2008

Просто просматривая мои почтовые архивы, я вижу несколько довольно длинных «первых» имен (разумеется, под первым подразумевается переменная в зависимости от культуры). Одним из примеров является Кришнамурти, длина которого составляет 13 букв. На основании этого можно предположить, что от 20 до 25 букв. Адрес электронной почты должен быть намного длиннее, поскольку у вас может быть firstname.lastname@somedomain.com. Кроме того, gmail и некоторые другие почтовые программы позволяют вам использовать firstname.lastname+sometag@somedomain.com, где «sometag» - это то, что вы хотите поместить туда, чтобы вы могли использовать его для сортировки входящих писем. Я часто сталкиваюсь с веб-формами, которые не позволяют мне ввести свой полный адрес электронной почты без учета каких-либо тегов. Так что, если вам нужно фиксированное поле электронной почты, может быть что-то вроде 25.25+15@20.3 в символах в общей сложности 90 символов (если я правильно сделал свою математику!).

...