Склонение ФИО (постановка)
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | + | Предлагается решить проблемы склонения имен по падежам и хранения имен на разных языках следующим образом: | |
| − | Предлагается решить проблемы | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Создаем таблицу: | Создаем таблицу: | ||
| Строка 11: | Строка 5: | ||
CREATE TABLE gd_multiname ( | CREATE TABLE gd_multiname ( | ||
refid dintkey, | refid dintkey, | ||
| − | langid CHAR( | + | langid CHAR(20) NOT NULL, |
| − | caseid CHAR( | + | caseid CHAR(1) NOT NULL, |
name dname, | name dname, | ||
| Строка 18: | Строка 12: | ||
) | ) | ||
| − | Эта таблица будет хранить название объекта с идентификатором refid, на языке [http://www.i18nguy.com/unicode/language-identifiers.html | + | Эта таблица будет хранить название объекта с идентификатором refid, на языке langid в падеже caseid. |
| + | |||
| + | === Идентификаторы падежей для русского языка === | ||
| + | |||
| + | {| cellpadding="3" cellspacing="0" frame="box" width="40%" style="border: 1px solid darkgray;" | ||
| + | |- style="font-weight: bold; background-color: #EEEEEE;" | ||
| + | |Название | ||
| + | |Идентификатор | ||
| + | |- | ||
| + | |Именительный | ||
| + | |N | ||
| + | |- | ||
| + | |Родительный | ||
| + | |G | ||
| + | |- | ||
| + | |Дательный | ||
| + | |D | ||
| + | |- | ||
| + | |Винительный | ||
| + | |A | ||
| + | |- | ||
| + | |Творительный | ||
| + | |B | ||
| + | |- | ||
| + | |Предложный | ||
| + | |L | ||
| + | |} | ||
| + | |||
| + | === Ссылки по теме === | ||
| + | |||
| + | * [http://www.i18nguy.com/unicode/language-identifiers.html Языковые идентификаторы] | ||
| + | * [http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%B4%D0%B5%D0%B6 Падеж] | ||
[[Category:Постановка]] | [[Category:Постановка]] | ||
Версия 18:13, 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 |