sql html - Каков допустимый предел длины для полей «Имя»?




input list (10)

Каталог стандартов данных правительства Великобритании предлагает по 35 символов для каждого из указанных имен и фамилии, или 70 символов для одного поля для хранения полного имени.

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

Уместнее ли использовать что-то вроде типа столбца «Текст» или мне нужно ограничить длину имени чем-то разумным?

Я использую SQL Server 2005, если это имеет значение в вашем ответе.

EDIT: Я не рассматривал этот более широкий вопрос относительно подобных вопросов.


То, что вы действительно задаете, - это связанный, но существенно другой вопрос: как часто я хочу обрезать имена, чтобы соответствовать им в базе данных? Ответ зависит как от частоты разных длин имен, так и от выбранной максимальной длины. Эта озабоченность уравновешивается опасениями относительно ресурсов, используемых базой данных. Учитывая, как мало различий в разнице между различными максимальными длинами для поля varchar, я обычно ошибался на стороне никогда не быть вынужденным усекать имя и сделать поле настолько большим, насколько я осмелился.


В Великобритании существует несколько правительственных стандартов, которые успешно справляются с большинством населения Великобритании - Паспортным офисом, Агентством по лицензированию водителей и транспортных средств, Управлением по рассмотрению дел и NHS. Очевидно, они используют разные стандарты.

Изменение вашего имени с помощью документа «Домен» допускает 300 символов ;

Ограничения на длину вашего имени не ограничены законом, но мы накладываем ограничение на 300 символов (включая пробелы) для вашего полного имени.

NHS использует 70 символов для имен пациентов

ИМЯ ПАЦИЕНТА
Формат / длина: max a70

Паспортное управление позволяет 30 + 30 первых / последних, а водительские лицензии (DVLA) составляют 30 штук.

Обратите внимание, что у других организаций будут свои ограничения на то, что они будут показывать в документах, которые они производят. Для HM Passport Office ограничение составляет 30 символов для вашего имени и вашей фамилии, а для DVLA ограничение составляет 30 символов для вашего полное имя.


Если это полное имя в одном поле, я обычно перехожу с 128 - 64/64 для первого и последнего в отдельных полях - вы просто не знаете.


@Ian Nelson: Мне интересно, видят ли другие проблемы там.

Допустим, вы разделили поля. Это всего 70 персонажей, 35 для имени и 35 для фамилии. Однако, если у вас есть одно поле, вы игнорируете пространство, разделяющее имя и фамилию, короткое изменение на 1 символ. Конечно, это «единственный» один персонаж, но это может сделать разницу между тем, кто вводит их полное имя, а кто-то нет. Поэтому я хотел бы изменить это предложение на «35 символов для каждого из имени и фамилии», или 71 символ для одного поля для хранения полного имени ».


Обычно я использую varchar (255) (255 - максимальная длина типа varchar в MySQL).


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

Остерегайтесь изменения размеров столбцов в зависимости от языка. Для начала он устанавливает вас для кошмара для обслуживания, оставляя в стороне тот факт, что люди мигрируют и берут с собой свои имена.

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

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


Мы используем 50.


Среднее имя - около 6 букв. Это оставляет 43 для фамилии. :) Похоже, вы могли бы сократить его, если хотите.

Главный вопрос: сколько строк, по вашему мнению, у вас будет? Я не думаю, что варчар (50) собирается убить вас, пока вы не получите несколько миллионов строк.


Вы должны выбрать только один символ: ansi 0x27, он же одинарная кавычка:

safeString = unsafeString.Replace("'","''");




sql html textbox