С некоторой задержкой, публикую вторую часть. Предыдущая статья серии: Заблуждения о паспортах в базе
Материал довольно сильно пересекается с предыдущими статьями Хабра (раз, два), которые гораздо глубже раскрывают предметную область.
Правила присвоения и изменения фамилии/имени/отчества регулируются Семейным Кодексом (Азербайджанская Республика, Республика Армения, Республика Беларусь, Республика Казахстан, Киргизия, Республика Молдова, Российская Федерация, Республика Таджикистан, Республика Узбекистан, Украина), Гражданским Кодексом (Грузия) или соответствующим Законом (например, Закон о государственной регистрации актов гражданского состояния в Республике Таджикистан, Закон о семье в Эстонии).
Под термином «элемент ФИО» в тексте будут подразумеваться одно/любое из составляющих — Фамилия, Имя или Отчество.
Поле «Фамилия+имя+отчество» помещаются в 15 символов
Очевидно, что нет, но некоторые до сих пор верятКаждый элемент ФИО помещаются в 15 символов
Советский анекдот времён 50-х:
— Армянское радио спрашивают «Какая фамилия самая длинная?»
— Радио отвечает: «Ипримкнувшийкнимшепилов».
Самые длинные фамилии, которые я встречал в реальной жизни состояли из 19–20 букв кириллического алфавита (Христорождественский, Крестовоздвиженская). Если транслитерировать эти фамилии на латиницу для использования в международных документах, добавляется ещё 3–4 символа.Примечание: яндекс‑дзен любезно предлагает почитать про 5 самых длинных русских фамилий, но авторитетного подтверждения примеров на 27–36 букв не обнаружено.
Попробуем увеличить ограничение на имя. Законодательство многих стран позволяет после свадьбы брать двойную фамилию, добавляя фамилию супруга через дефис. Таким образом, могу себе представить фамилию Krestovozdvizhenskaya‑Khristorozhdestvenskaya, состоящую из 45 символов.
Согласно исследованию Яндекса от 2012 года, самое длинное имя зарегистрированного у них в системе пользователя — Абдурахмангаджи (15 букв), что автоматически даёт возможность генерации отчества из 19 букв.
Учитывая опцию присвоения двойных имён (разрешённую законодательством), верхний предел длины имени, фамилии и отчества определить трудно.
Каждый элемент ФИО должен быть длиной 3 и более символов.
Ли Ян передаёт Вам большой привет.UPD: Товарищи в комментариях напомнили про существование фамилий, состоящих из одной буквы.
Отчество есть всегда
Как уже писалось в тематических статьях, отчество актуально на территории постсоветских стран. В документах граждан других государств вместо отчества будет стоять ХХХ (в лучшем случае), а в худшем — пункт отчества будет отсутствовать как класс.На месте отчества в зарубежных документах может быть указано семейное имя, фамилия матери и тд.
Имя есть всегда
В медицинском софте родовспомогательных учреждений может быть ситуация, когда новорождённый умер до присвоения имени. В таком случае, он будет фигурировать как «ребёнок женского/мужского пола» и поле «имя» будет необязательным.Каждый элемент ФИО состоит только из символов локального алфавита
Системой могут пользоваться иностранцы, которые идентифицируются по международному паспорту, где элементы написаны на английском языке.Каждый элемент ФИО состоит только из символов английского и локального алфавита (например кириллицы)
Первый контрпример — приставка к дворянской фамилии д» во Франции, если фамилия начинается с гласной (Д’Артаньян – тысяча чертей). Подвид контрпримера — потомок рода «Хара» в Ирландии, который будет подписываться как О’ Хара.Второй контрпример – последствия перехода на латиницу языков постсоветского пространства. Например, узбекское имя Ғулом транслитерируется в G’ulom
Как будет обрабатываться апостроф внутри строки — большой вопрос.
Третий контрпример — если программа будет использоваться на территории других стран (без приведения ФИО к транслиту) — там могут использоваться любые локальные символы, в том числе за пределами подмножества Юникода.
Использование только международных документов в системе не решает проблему, ибо
Четвёртый контрпример — согласно стандарту ICAO в международном документе допускается использование диакритических знаков и национальных знаков, основанных на латинском алфавите (например, Þ и ß).Любой элемент ФИО не содержит пробела
Законодательство многих стран позволяет иметь двойные имена. При этом, в зависимости от законодательства, такие имена могут разделяться дефисом (Пётр‑Василий) или могут писаться через пробел (Пётр Василий). Законодательство многих стран может также позволять любой из вариантов написания.Пример из стран СНГ: в тюркоязычных странах, отчество формируется путём прибавления к имени отца определённого постфикса: «оглы/кызы» (Азербайджан), «уулу/кызы» (Киргизия), «o’gli/qizi» (Узбекистан). То есть, дочь гражданина Киргизия по имени Алихан может иметь отчество «Алихан кызы».
Любой элемент ФИО содержит не больше одного пробела
В имени героя мультфильма «Тайна Коко» Эрнесто де ла Крус, фамилия «де ла Крус» содержит два пробела. Чисто технически, «де ла» является фамильной приставкой, но на практике она пишется в строке «Фамилия».Рассмотрим вариант из ближнего зарубежья: как мы выяснили в пункте 23, имя может быть двойным, а отчество может образовываться путём прибавления отдельного постфикса. На выходе отчество ребёнка может писаться приблизительно как “Mirzo Ulugbek o’gli”.
Ещё один пример: законодательство Украины позволяет давать ребёнку более двух имен, если указанное вытекает из обычая национального меньшинства, к которому принадлежат мать и (или) отец.
Примечание: Статья 58 Семейного Кодекса РФ указывает, что двойная фамилия ребенка может состоять не более чем из двух слов, соединенных при написании дефисом. Аналогичные требования предъявляет Семейный Кодекс Республики Казахстан. В остальных рассмотренных странах подобных ограничений нет.
Любой элемент ФИО содержит не больше одного дефиса
Всегда интересовал вопрос, как будет писаться фамилия молодой жены, в девичестве Мелик‑Пашаевой, которая вышла замуж за господина Тер‑Вартаняна и взяла двойную фамилию (которая, в соответствии с законодательством, пишется через дефис).Примечание: Статья 32 Семейного Кодекса РФ указывает, что соединение фамилий не допускается, если добрачная фамилия хотя бы одного из супругов является двойной. Аналогичные требования предъявляют Семейный Кодекс Республики Киргизии, Республики Армения, Республики Казахстан, Республики Молдова. Но, во‑первых, в законодательстве других стран таких ограничений нет. Во‑вторых, чисто технически «Тер» и «Мелик» — это фамильные приставки, а не составная часть двойной фамилии.
Всегда можно распарсить ФИО на составляющие части
Моделирую ситуацию: условный мексиканец, с именем как у актёра Бардема и фамилией из мультфильма «Тайна Коко», переехал в Узбекистан и принял гражданство. У него родился сын, которого назвали в честь любимого героя сериалов 90-х.В системе пользователь будет зарегистрирован (с учётом транслитерации на государственный язык) как "Khose-Ignasio Khavier Angel O'g'li de la Krus". Удачи!
Во всех написаниях ФИО одинаково
Пример из стран, которые переходят на латиницу — правила транслитерации на государственном языке отличаются от правил транслитерации на английский. Вспоминаем требования международных документов и понимаем, что Харитон в локальном документе может быть транслитерирован как Xariton, а в международном — Khariton. Соответственно, будут разногласия в данных, если применить неподходящие под ситуацию документ или транслитерацию имени пользователя.Знакомые встречали кейс, когда уважаемого человека по фамилии Исхаков из‑за неправильной транслитерации называли весьма обидно.
Второй пример — вышеупомянутый документ ICAO позволяет использовать в международных документах транслитерацию имён на английский, испанский или французский язык. И что‑то мне подсказывает, что написание фамилии и имени на различных языках будет различаться.
Фамилия+Имя+Отчество может быть идентификатором человека
Согласно данным с сайта фамилии.com (осторожно — там жуткий гуглотранслейт), самые популярные фамилии в России — Иванова, Кузнецова; по данным сайта имена.net, самые популярные имена — Сергей и Александр.Соответственно, уважаемые Ивановы Сергеи Александровичи, приготовьтесь к тому, что Ваши ФИО будут повторяться даже в пределах небольшой базы.
Примечание: в 2012 году Яндекс проводил исследования по самым распространённым именам в России.
ОК, в связке с годом рождения
На системах с большим числом пользователей — нет. В масштабах страны — тем более.
В третьей части описаны потенциальные проблемы использования идентификаторов пользователей с учётом опыта стран, которые такие идентификаторы внедрили.
UPD: автор рекомендует почитать комментарии, так как там приведены интересные примеры из практики других пользователей.