Я розробляю таблицю бази даних і ще раз задаю собі те саме дурне запитання: як довго має бути поле ім'я?
Чи є у когось список розумних розмірів для найбільш поширених полів , таких як ім’я, прізвище та адреса електронної пошти?
Я розробляю таблицю бази даних і ще раз задаю собі те саме дурне запитання: як довго має бути поле ім'я?
Чи є у когось список розумних розмірів для найбільш поширених полів , таких як ім’я, прізвище та адреса електронної пошти?
Відповіді:
Рекомендація W3C:
Якщо ви розробляєте форму або базу даних, яка буде приймати імена людей з різним походженням, вам слід запитати себе, чи дійсно потрібно мати окремі поля для вказаного імені та прізвища.
... Майте на увазі, що імена в деяких культурах можуть бути набагато довшими, ніж ваші власні. … Уникайте обмеження розміру поля для імен у вашій базі даних . Зокрема, не припускайте, що чотири символи японського імені в UTF-8 вмістяться в чотири байти - вам, ймовірно, потрібно 12.
Для полів баз даних 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 байт.
[N]Varchar
Розміри цього , однак, впливають на ваші індекси.
Я майже завжди використовую потужність 2, якщо немає поважних причин цього не робити, наприклад інтерфейс із клієнтом, де якесь інше число має особливе значення для клієнта.
Якщо ви дотримуєтесь повноважень 2, це утримує вас в обмеженому наборі загальних розмірів, що саме по собі є хорошою справою, і це полегшує відгадування розміру невідомих об'єктів, з якими ви можете зіткнутися. Я бачу неабияку кількість інших людей, які роблять це, і є щось естетично в цьому. Як правило, це добре відчуває мене, коли я бачу це, це означає, що дизайнер думав як інженер чи математик. Хоча я, мабуть, був би стурбований, якби використовувались лише прості числа. :)
Я хотів знайти те саме, і стандарти даних уряду Великобританії, згадані у прийнятій відповіді, звучали ідеально. Однак жодне з них більше не здавалося - після розширеного пошуку я знайшов його в архіві тут: http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/ схеми стандартів / e-gif / datastandards.aspx . Потрібно завантажити zip, витягнути його та відкрити default.htm у папці html.
Вони можуть бути корисні комусь;
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/
+------------+---------------+---------------------------------+
| Field | Length (Char) | Description |
+------------+---------------+---------------------------------+
|firstname | 35 | |
|lastname | 35 | |
|email | 255 | |
|url | 60+ | According to server and browser |
|city | 45 | |
|address | 90 | |
+------------+---------------+---------------------------------+
Редагувати : додано пробіл
Щойно дивлячись, мої архіви електронної пошти, є ряд досить довгих "перших" імен (звичайно, те, що мається на увазі під першим, змінюється культурою). Один із прикладів - Кришнамурті - довжиною 13 літер. Хороша здогадка може складати від 20 до 25 літер на основі цього. Електронна пошта повинна бути набагато довшою, оскільки у вас може бути firstname.lastname@somedomain.com. Крім того, gmail та деякі інші поштові програми дозволяють вам використовувати firstname.lastname+sometag@somedomain.com, де "sometag" - це все, що ви хочете розмістити там, щоб ви могли використовувати його для сортування вхідних листів. Я часто натрапляю на веб-форми, які не дозволяють мені вводити свою повну адресу електронної пошти, не враховуючи тегів. Отже, якщо вам потрібно фіксоване поле електронної пошти, можливо, щось на зразок 25,25+15@20,3 символів на загальну кількість 90 символів (якщо я правильно зробив математику!).
Зазвичай я йду з:
Ім'я : 30 символів
Прізвище : 30 символів
Електронна пошта : 50 символів
Адреса : 200 символів
Якщо мене турбують довгі поля для імен, то іноді я можу йти з 50 для полів імен, оскільки місця для зберігання в наші дні рідко є проблемою.
Якщо вам потрібно врахувати локалізацію (для тих, хто з нас за межами США!), І це можливо у вашому оточенні, я б запропонував:
Визначте типи даних для кожного компонента імені - ПРИМІТКА: деякі культури мають більше двох імен! Потім введіть тип повного імені,
Тоді локалізація стає простою (що стосується імен).
Те саме стосується адрес, BTW - різних форматів!