|
|
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Возник вопрос как лучше реализовать хранение инфомрации на нескольких языках. Есть персона у котрой в свою очередь есть биография (собственно текст) на трёх языках (en, de, fr). База данных mysql. 1. Первый вариант, одна таблица person: [person] Код: plaintext 1. 2. 3. 4. 2. Второй вариант, отдельная таблица для биографий и персон. Поле biography_id в таблице person как бы намекает на связь с таблицей biography: [biography] Код: plaintext 1. 2. 3. [person] Код: plaintext 1. 2. Хотелось бы услышать ваше мнение по поводу наилучшести варианта, в плане удобства, возможно скорости. Как бы сделали вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2008, 23:07 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
tselofun Хотелось бы услышать ваше мнение по поводу наилучшести варианта, в плане удобства, возможно скорости. Как бы сделали вы? в плане удобства - это нужно знать как эта информация будет использоваться. все эти варианты вполне жизнеспособны. могу предложить еще один вариант: таблица персоны. таблица биографии: текст биографии язык ссылка на персону. такой вариант немного проще в плане организации полнотекстового поиска. искать надо только в одном поле. и нет избыточности полей. если у кого то только на одном языке биография, то будет одна запись. если Вы напишите как будет эта информация использоваться, то можно будет подобрать подходящую структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2008, 23:55 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
IT-Shaman, музыкальная энциклопедия на нескольких языках, на каждом из которых есть страницы музыкантов и их биогрфаии. Вот пример, очень похожий: last.fm/music/The+Beatles (англйиский) lastfm.de/music/The+Beatles (немецкий) lastfm.fr/music/The+Beatles (французский) При этом, на каком нибудь из представленных языков может и не быть биографии. И вы прав Ну и количество поддерживаемых языков может увеличиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 00:09 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
tselofunИ вы прав И вы правы по поводу поиска, если биография на одном из языков. Сразу на всех языках они не нужны одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 00:11 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
я делал просто и в лоб. К каждой таблицей с такой информацией добавляется дочерняя с добавлением в PK ещё и языка (соотв. справочник также есть в системе). Если есть явно выделенный язык, используемый по умолчанию, можно те же поля хранить и в основной таблице на этом дефолтном языке (во вспомогательной - уже не хранить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 10:56 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
table Person ( PersonID ... ) table Biography ( BiographyId lang_Id BiographyData ... ) table PersonBiography ( id PersonID BiographyId ) table Language ( LanguageId, LanguageShortName, ... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 11:49 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
2alneo: т.е., думаете, у нескольких людей может быть одна биография? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:03 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
alneo table PersonBiography ( id PersonID BiographyId ) Это зачем? Чтоб разным людям одну биографию вешать? Сие проиворечит UML-ной модели, если ее рисовать - кроме отношения композиции между персоной и биографией все остальное будет вызывать недоумение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:05 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
а как сделать, ведь у одного человека может быть несколько биографий на разных языках. (в смысле одна биография на нескольких языках и число языков неограничено?, ну типа как в CMS системах) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:08 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
сори, исправляюсь. вот так нормально? Biograpрy ( Id, UserId, LanguageId, BiographyData ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:12 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
alneoсори, исправляюсь. вот так нормально? Biograpрy ( Id, UserId, LanguageId, BiographyData )ес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 13:44 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
Понял. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 22:35 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
egorych2alneo: т.е., думаете, у нескольких людей может быть одна биография? С течением времени биография имеет свойство изменяться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 15:29 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
Dinamo egorych2alneo: т.е., думаете, у нескольких людей может быть одна биография? С течением времени биография имеет свойство изменяться...... и переходить от человека к человеку, ага ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 17:19 |
|
||
|
хранение информации на нескольких языках
|
|||
|---|---|---|---|
|
#18+
egorych DinamoС течением времени биография имеет свойство изменяться...... и переходить от человека к человеку, ага С прошествием времени к биографии могут добавляться новые жизненные моменты и достижения (получение образования, смена места жительства, смена работы и т.п.), соответственно не отраженные в более ранних версиях биографии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2008, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=98&tid=1543638]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 410ms |

| 0 / 0 |
