Фамилия, имя и отчество (ФИО)

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

В типовой жизненной ситуацией мы сталкиваемся с достаточно большим разнообразием записи этого набора с выделением из него частей и использованием инициалов. Безусловно только одно: ФИО записывается в виде строки (символьный тип, Character).

Немного фактов для анализа:

Таблица (фрагмент) максимально нормализованных данных описания ФИО
НаименованиеПоле  ПримечаниеКомментарий
user_idI(4)Код человека
F_idI(4)Код фамилииОписание должно соответствовать справочнику
I_idI(4)Код имени—"—
O_idI(4)Код отчества—"—

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

Возможная избыточность для каждого человека составит 24 байта (12 — здесь и 12 — в справочниках). При этом очевидно, что даже единичное повторное использование имени сразу окупит этот избыток. А доля распространенных имен все равно будет много больше половины. При числе людей большем, чем несколько сотен, начнется активное повторение фамилий. Близкий возраст включаемых лиц однозначно определит идентичность отчеств.

Не будем при этой оценке забывать, что минимально разумные размеры соответствующих полей дают 105 байт.

  1. Ф С(55)
  2. И C(23)
  3. О C(27)

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

Справочники

Из предыдушего понятно, что справочников потребуется три: для фамилии, имени и отчества. Все они будут иметь идентичную структуру при разном размере поля наименования.

Таблица имен
НаименованиеПоле  ПримечаниеКомментарий
I_idI(4)Код имени
I_nameC(23)Наименование имениПредполагаем двойные имена

Конечно, размерность поля кода могла бы составлять и 3 байта, так как 23*8 (16777216) существенно превышает разнообразие имен в мире.

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

Усложнение схемы

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

Давайте сразу разговаривать об органах ЗАГС, так как именно там и происходят все процессы. Более того, у них присутствуют необходимые методические материалы, о чем они предпочитают не распространяться, вплоть до отрицания их наличия.

Без вникания в тонкости всех процессов, просто перечислю ряд технических (лингвистических) проблем, ответов на которые нет у большинства возможных участников возможного процесса разработки. Включая работников ЗАГС.

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

Нарушение правил при перечисленных ситуацией всегда приведет к невосполнимой потере информации. Пусть и частичной.

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

Обращаю внимание, что все сказанное относилось исключительно к русскому языку. То есть априорно непригодно для многих других стран.


Copyright © 1993–2020 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.