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

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Ссылки по теме)
(Идентификаторы падежей для русского языка)
Строка 39: Строка 39:
 
|L
 
|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
  
 
=== Ссылки по теме ===
 
=== Ссылки по теме ===

Версия 18:36, 29 июля 2008

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

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

 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

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

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

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