Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синонимы на разных языках / 7 сообщений из 7, страница 1 из 1
28.11.2011, 19:24
    #37548672
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
Есть научное название объекта на нескольких языках (латинский, русский, украинский и т.д.).
В каждом языке есть по несколько синонимов.
Пользователь на желаемом языке выбирает из списка название объекта и получает все его синонимы сгруппированные по языкам, включая и выбранный язык. (+потом будет добавлено к этому описание объекта на выбранном языке). Пока больше ничего не требуется.
Вроде всё просто, но не могу спроектировать БД.

Как развести эти синонимы и связать их между собой?
Как сделать так, чтобы отталкиваясь от выбранного пользователем языкового синонима названия объекта, вывести ему данные об этом объекте на другом языке? (т.е. например, выбрано название на латыне, а смотреть описание на русском).
...
Рейтинг: 0 / 0
28.11.2011, 22:59
    #37548902
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
причем synonym_id необязательно должен куда-то ссылаться
Код: plaintext
create table objs (obj_id int primary key, obj_detail varchar( 100 ),lang_id int, synonym_id int)
однако если смыслов у объекта более одного (что-то типа облака тэгов)
Код: plaintext
1.
2.
3.
create table objs (obj_id int primary key, obj_detail varchar( 100 ),lang_id int)
create table tags (tag_id int primary key, tag_detail varchar( 100 ))
create table obj_tags_xref (obj_id int references objs, tag_id int references tags)
запрос будет вашим домашним заданием
...
Рейтинг: 0 / 0
29.11.2011, 00:00
    #37548971
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
SERG1257 ,
смысл у объекта один, но несколько синонимов его названия на каждом языке.
Зачем в 1-вом варианте нужен "synonym_id"?
И поясните, как можно выбрав один "obj_id" выйти на все остальные синонимы?
...
Рейтинг: 0 / 0
29.11.2011, 00:13
    #37548983
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
Ну да, через "synonym_id" выбираем все синонимы. Это понятно. И 1-ый вариант - первое, что приходило на ум.
Не понятно: куда этот "synonym_id" пристроить? как его генерить, где сохранять и чтобы понятен был, к чему он относится?
...
Рейтинг: 0 / 0
29.11.2011, 00:18
    #37548990
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
AIS Зачем в 1-вом варианте нужен "synonym_id"?Чтобы объединить объекты
Ну добавьте таблицу синонимов для порядка
Код: plaintext
1.
2.
3.
4.
create table synonyms (synonym_id int, synonym_desc varchar( 100 ))
insert into synonyms values ( 1 ,'Быстро передвигатся')
insert into objs (obj_id, obj_detail,lang_id, synonym_id) values ( 1 ,'Бежать', 1 , 1 )
insert into objs (obj_id, obj_detail,lang_id, synonym_id) values ( 2 ,'Мчатся', 1 , 1 )
insert into objs (obj_id, obj_detail,lang_id, synonym_id) values ( 3 ,'Rush', 2 , 1 )
...
Рейтинг: 0 / 0
29.11.2011, 00:19
    #37548992
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
SERG1257причем synonym_id необязательно должен куда-то ссылаться...
Да, согласен. Пусть весит как неприкаянный.

Спасибо.
Тема закрыта.
...
Рейтинг: 0 / 0
29.11.2011, 00:25
    #37549001
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синонимы на разных языках
SERG1257Ну добавьте таблицу синонимов для порядка..
А она реально и не нужна. Я на этом и в ступор попал.
Первое введенное название объекта на любом языке и будет являться "якорем" для всех его остальных названий (синонимов).
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синонимы на разных языках / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]