Каковы рекомендуемые размеры столбцов базы данных для имен? - PullRequest
8 голосов
/ 04 февраля 2009

Что касается дизайна базы данных, каковы рекомендуемые размеры столбцов для таких полей, как кто-то имя, отчество и фамилия? Кроме того, является ли один стандартный символ безопасным для второго имени, или для средних инициалов должно быть разрешено дополнительное пространство?

В частности, я ищу размеры, которые позволят мне не беспокоиться о международном использовании. Я видел несколько средних инициалов, состоящих из двух символов, поэтому я сомневаюсь, что один символ - хорошая идея, но мне любопытно посмотреть, есть ли какие-либо рекомендации там уже.

Ответы [ 4 ]

9 голосов
/ 04 февраля 2009

ИСО не выпустила стандартов для именования людей (пока), хотя я слышал, что предварительный проект раздается на самых высоких уровнях.

:)

Серьезно, 64 или около того должно быть достаточно для 99,99% имен и фамилий - на любом языке. Я никогда не видел ничего, кроме одного символа для MI (хотя вы правы, у многих есть больше одного).

Кстати: если я не ошибаюсь, адреса электронной почты - технически - могут быть длиной до 320 символов и содержать! # $% & '* + - / =? ^ _ `{| } ~ и. при условии, что . не является ни первым, ни последним символом и не может появляться два или более раз подряд.

PS. Моего любимого кролика зовут "Его Императорское Величество Теополопс Банни Галоре". Излишне говорить, что это было усечено в базе данных ветеринара. Я думаю, что у них есть это как "Его Императорский Мадж". Так и идет.

5 голосов
/ 04 февраля 2009

Вам нужно объединить 590 символов, если вы хотите поддержать самое длинное имя в мире .

2 голосов
/ 04 февраля 2009

Лично я думаю, что все сводится к тому, сколько данных вы разумно ожидаете хранить. Даже если у вас будет миллион имен, вероятно, не помешает использовать символ (64) или больше для каждого имени. Если размер является проблемой, вы можете начать с 32 и при необходимости увеличить размер столбца alter.

1 голос
/ 04 февраля 2009

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

Другими словами, мое имя будет сохранено как

'Andrew'

в поле nvarchar(20), но будет храниться как

'Andrew              '

в поле char(20). Поэтому, имея в виду, я бы выбрал большое количество имен с мыслью, что вы не будете тратить лишнее пространство, используя nvarchar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...