Форум "DataBase и SQL"
Язык запросов баз даных
|
Я склоняюсь ко второму варианту, но вообще нужно смотреть по конкретной ситуации. Основная идея такова - текстовые разноязычные данные хранятся отдельно, а данные, не зависящие от языка (например, цена, кол-во, вес, и т.п.) отдельно. Таким образом будет меньшая избыточность. |
|
#2 DrewBlin 23.08.06 16:36:30
Ну, а как во вотором случае сделать поиск? Я во к чему: когда пользователь вводит название продукции неизвестно каким языком он пользовался. И как искать? Сделать таблицу с двумя колонками: русский язык и иностранный и для каждого используемого слова создавать столько строк, сколько языков? Мне как-то не очень нравится такое решение проблемы... |
|
> Я во к чему: когда пользователь вводит название продукции > неизвестно каким языком он пользовался. Об этом в сабже ничего сказанно небыло. Впрочем, не важно. > Сделать таблицу с двумя колонками: русский язык и иностранный > и для каждого используемого слова создавать столько строк, сколько языков? Нечё не понял. Приведи в качестве примера структуру БД для одного языка, посмотрим, как переделать для нескольких. |
|
#4 DrewBlin 23.08.06 17:20:17
> Приведи в качестве примера структуру БД для одного языка, > посмотрим, как переделать для нескольких Таблица продукции (prod), какая есть сейчас (упрощенная): | Num | Name | Description | > Нечё не понял Я имел ввиду создать еще такую таблицу (dict): | Num | Russian | Foreign | В поле Russian пишется русское слово, в поле Foreign - иностранное, например: 1 - автомобиль - автомобіль 1 - автомобиль - car 1 - автомобиль - der mashina 2 - зонт - парасолька 2 - зонт - umbrella и т.д. для всех используемых слов. А в таблице prod.name - естественно номер слова. |
|
> Таблица продукции (prod), какая есть сейчас (упрощенная): > | Num | Name | Description | Что-то слишком упростил. Для такого варианта преобразовываем эту таблицу в такую: | Num | Lang | Name | Description | где первичный ключ по первым двум полям. > В поле Russian пишется русское слово, в поле Foreign - иностранное, > например: > 1 - автомобиль - автомобіль > 1 - автомобиль - car > 1 - автомобиль - der mashina Зачем три раза помещать в базу слово "автомобиль"? Вот она, избыточность. |
|
#6 DrewBlin 23.08.06 18:19:33
> Что-то слишком упростил У меня на эту таблицу ссылаются другие, так что сама таблица действительно такая небольшая. > | Num | Lang | Name | Description | А что записывается в Lang? > Зачем три раза Лишь затем, потому что не вижу как по другому... А то что изботочность - так это ясно |
|
> что записывается в Lang? код языка. Я бы сдела это поле типа enum. > У меня на эту таблицу ссылаются другие, так что сама таблица > действительно такая небольшая. тогда действительно используй преддложенный мной вариант. > Лишь затем, потому что не вижу как по другому... по другому - это избавится от поля Russian |
|
#8 DrewBlin 23.08.06 18:34:41
> код языка. |
|
> Какой код ну блин, мы ж говорим о > Многоязыковая БД Код языка, типа rus, ukr, eng... |
|
#10 DrewBlin 23.08.06 18:55:14
> Код языка, типа rus, ukr, eng... Такой пример предполагается? (например) 1 - rus - автомобиль - ... 2 - ukr - автомобіль - ... 3 - eng - car - ... Если не такой - то я не вижу чем облегчается поиск, а если такой - то тут избыточность! |
|
> Такой пример предполагается? ну да, только ещё Num. > то тут избыточность! какая? |
|
#12 DrewBlin 23.08.06 19:09:48
> какая? Что-то я не то ляпнул... Так при такой структуре (как по мне) поле Lang может использоваться только для того, чтобы выводить результат поиска на том языке, на котором был введен запрос. Больше оно ни для чего не надо? |
|
Ну, тогда убери и Lang, если оно тебе не нужно. |
|
#14 GOOGLE 25.08.06 04:53:07
отправлено с мобилки |
|
А почему нет желания использовать Unicode? Его ведь именно для этого придумали. |
|
> #15 Deep © тут вообще не об этом речь. |
|
#17 maximus © 19.09.06 12:55:32
#15 А почему нет желания использовать Unicode? тогда будет слишком легко! |
|
> Значит, есть таблица, в которой записана продукция некоторой > фирмы (на русском языке). если таблица в юникоде, то русский текст в нее разве не пишется? Потребовалось сделать поиск по > этой таблице на разных языках (русском, украинском, английском) > при этом должна быть возможность легкого добавления нового > языка. или не ищется? > тут вообще не об этом речь. а о чем собственно? |
|
#19 maximus © 20.09.06 09:02:22
#18 а о чем собственно? тоже хочу поучаствовать в вашем телепатическом диалоге. секретничают... может не доверяют нам? |
Написать ответ |
|
