Склонение ФИО (постановка)

Материал из GedeminWiki
Перейти к: навигация, поиск

Предлагается решить проблемы склонения имен по падежам и хранения имен на разных языках следующим образом:

Создаем таблицу:

 CREATE TABLE gd_multiname (
   refid    dintkey,
   langid   CHAR(20) NOT NULL,
   caseid   CHAR(1) NOT NULL,
   name     dname,

   PRIMARY KEY gp_pk_multiname (refid, langid, caseid)
 )

Эта таблица будет хранить название объекта с идентификатором refid, на языке langid в падеже caseid.

Содержание

Идентификаторы падежей для русского языка

Название Идентификатор
Именительный N
Родительный G
Дательный D
Винительный A
Творительный B
Предложный L

Пример использования

Пусть в таблице gd_contact мы имеем запись:

ID           NAME
==========================================
20000001     Иванов Иван Иванович

а в таблице gd_good:

ID           NAME
==========================================
20000002     Мыло

Тогда, в таблице gd_multiname могут быть следующие записи:

REFID        LANGID      CASEID       NAME
=============================================================
20000001     RU          D            Иванову Ивану Ивановичу
20000001     RU          G            Иванова Ивана Ивановича
20000001     BE          N            Іваноў Іван Іванавіч
20000002     EN          NULL         Soap

Организация пользовательского интерфейса

Ссылки по теме

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты