Список стандартных длин полей базы данных

StackOverflow https://stackoverflow.com/questions/20958

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

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

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

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

  • адрес улицы Максимает на 95 символах.Длинные были все действительны.

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

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

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

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

                            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

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

Личное имя — это либо полиним (имя, состоящее из нескольких сортируемый компоненты), мононим (имя, состоящее только из одного компонента) или пиктоним (имя, представленное изображением — оно существует благодаря таким людям, как Принс).

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

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

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".

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

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

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

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

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

имя :35 LastName:35 Электронная почта:255 URL:60+ в соответствии с Server и Browser City:45 Адрес:90

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

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

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

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

Я обычно беру:

Имя:30 символов
Фамилия:30 символов
Электронная почта:50 символов
Адрес:200 символов

Если меня беспокоят длинные поля для имен, я мог бы иногда использовать и 50 полей для имен, поскольку в наши дни пространство для хранения редко является проблемой.

Если вам нужно рассмотреть возможность локализации (для тех из нас, кто находится за пределами США!) и это возможно в вашей среде, я бы предложил:

Определите типы данных для каждого компонента имени. ПРИМЕЧАНИЕ.некоторые культуры имеют более двух названий!Затем введите полное имя,

Тогда локализация становится простой (что касается названий).

То же самое касается и адресов, кстати – разные форматы!

это варчар, верно?Так что не имеет значения, используете ли вы 50 или 25, лучше перестраховаться и использовать 50, тем не менее, я считаю, что самый длинный, который я видел, составляет около 19 или около того.Фамилии длиннее

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top