Имя Второе Имя Фамилия. Почему не полное имя? - PullRequest
41 голосов
/ 14 июля 2009

Я пытаюсь найти лучший подход для хранения имени людей в таблице. Каковы преимущества 3 поля над 1 полем для хранения имени человека?

UPDATE

Вот интересная дискуссия и ресурсы о хранении имен и опыта пользователя

Объединение имени / фамилии в одно поле

Ответы [ 22 ]

2 голосов
/ 14 июля 2009

О единственной вещи, о которой я могу думать, это для целей поиска. Немного лучше искать поле, используя [=], а не сказать [нравится].

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

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

2 голосов
/ 14 июля 2009

В большинстве случаев он поддерживает написание писем в форме, таких как «мистер такой-то», или поиск / сортировку по фамилии, что очень распространено.

Учитывая, что первый / средний / последний может не относиться ко всем культурам, может быть лучший подход. Это может быть лучше выражено как «неофициальное имя» / «официальное имя» / «официальное имя» или что-то в этом роде.

Тем не менее, на данный момент первое / среднее / последнее очень распространено, и с точки зрения ввода данных это то, что все ожидают.

1 голос
/ 14 июля 2009

Просто введите два поля: «Полное имя» и «Предпочтительное имя» - просто. Поддерживает каждое существующее имя (если в языке есть лексические символы ... Так что да, это исключает языки, которые не имеют письменной формы).

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

1 голос
/ 14 июля 2009

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

1 голос
/ 14 июля 2009

Каждое из отдельных имен является атомарной частью данных. Когда они хранятся отдельно, их легче распечатать в разных форматах, таких как Имя, Фамилия и Имя, Имя.

1 голос
/ 14 июля 2009

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

Часто вы позволяете пользователям указывать имена, такие как псевдонимы или понятные имена, чтобы вы не ссылались на них по имени в их записях или всегда как г-н Смит.

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

1 голос
/ 14 июля 2009

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

1 голос
/ 14 июля 2009

Гибкость.

например. Если у кого-то была фамилия с двойным стволом и без отчества.

0 голосов
/ 14 июля 2009

Вы не всегда можете четко и надежно отделить фамилию от полного имени, поэтому есть веская причина отделять ее, потому что вам часто нужна фамилия. После того, как вы это сделаете, есть два общих подхода:

  1. имя и отчество; или
  2. given_names.

(2), возможно, более предпочтителен, потому что люди иногда имеют более двух названий и (1) более негибки в этом отношении.

Также другим распространенным полем является предпочитаемое_имя (в дополнение к указанному выше).

0 голосов
/ 14 июля 2009

Некоторые проблемы можно решить, сохранив дополнительный столбец, например PreferredName. Мы делаем это в нашей БД, а также храним столбец префикса и столбец суффикса. например «Профессор Генри В. Джонс-младший» с предпочтительным названием «Индиана Джонс».

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