Я недавно обдумывал имена и способ их хранения. Как правило, у человека будет первое, последнее и среднее имя. Если вы хотите быть особенно полным, вы можете добавить поле суффикса, возможно, даже поле заголовка. Поэтому, если кто-то хочет быть «Доктор Джон Q. Общественный III», они могут. Но у человека может быть более одного почетного и более одного суффикса. Если уж на то пошло, тогда могла бы быть и фамилия с переносом. Итак, что, если вы «Доктор Джон Квинт Максимус Public-Doe III Ph.D. MD. RPh.»? Вы могли бы сделать: Стандартный способ хранения имен в базе данных
Persons PersonID Prefix FirstName MiddleName LastName Suffix PersonHonorifics PHID PersonID Honorific PersonNames PANID PersonID NameOrderНо тогда это становится медведем, с которым можно работать, и никто в любом случае не использует их.
Есть ли общепринятый «Стандартный способ» для хранения данных имени?
В зависимости от ваших потребностей. Вам нужно искать, например. по имени или группе по префиксу? Сколько имен вы будете хранить? Какие операции вы будете выполнять над этими именами? – aefxx
Зачем вам когда-либо обрабатывать Honorifics отдельно? Будете ли вы заниматься рыцарскими орденами, где КГ занимает место перед КГБ? –
@ S.Lott Я хотел иметь академическую дискуссию, не зависящую от требований, и это показалось хорошим примером того, где был компромисс. В сценарии, где вы хотели запросить население по определенной комбинации учетных данных (скажем: все MCDBA, которые также являются MCITP), тогда нормализованная версия может быть предпочтительнее «нежелательного поля». –