Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Многоязычная система. (Grigoriy) 20/04/2004 - 18:48:52
      Re: Многоязычная система. (Grigoriy) 20/04/2004 - 20:45:10
      Re: Многоязычная система. (dEp) 21/04/2004 - 16:02:51



From: Grigoriy - 20/04/2004 - 18:48:52
Subject:Многоязычная система.
-----------------
Мне нужно рещить конкретную задачу. Пример будет кострированный, только для наглядности. Есть система работающая с N языками, в ней очень много пользователей. У каждого пользователя есть ФИО на всех N языках записанное. надо организовать работу с запросом на выборку ФИО по ID. Основные требования быстродействие + модульность реализации.
Предпологаемое решение.
Таблица 1
Поля ID(KEY), Lang_1, Lang_2, ..., Lang_N

Таблица 2
Поля ID(KEY), FistName, LastName,

В полях FistName и LastName храняться ID из таблицы 1. А таблице 1 соответсвенно написания на разных языках.

Вроде в теории все понятно и очень красиво, но....
Никак не удается вытащить одним запросом данные слинковав их. Потому как пытаясь линковаться через WHERE невозможно получим взаимоисключение, т.е. FistName != LastName, и нельзя найти такой ID в таблице 1 получаем пустоту.

Можно вытаскивать несколькими запросами сначала из таблицы 2, а потом их таблицы 1 все остально по частям... но это я так понимаю будет неприемлемо медленно, можно конечно пробовать кешировать на C или С++ я бы так и писал, в РНР я не очень силен потому не совсем ясно как это сделать...

Вопрос такой как все это сделать в переделах этой схемы или какие другие методы рассмотреть. Сделать много таблиц 1. не пойдет, т.к на самом деле параметров типа ФИО очень много в системе, копировать поля таблицы 2 для на каждый язык очень каряво и вообщем-то неприемлемо....

Помогите начинающему :-)



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
14172



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |