|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
14172
|
|